PHP:检查发布变量是否存在或分配空值
作者:互联网
这可以使用isNAN而不是!isset在Javascript中完成.
使用下面的示例 – 两个表单都发布到我的脚本,一个没有值,一个有值.如果post var不存在,下面的代码是否是在PHP中执行此操作以正确分配值的正确方法?
$mycheck =!isset($_ POST [‘value’])? 0:$_POST [‘value’];
<?
if($_POST) :
$mycheck = !isset($_POST['value']) ? 0 : $_POST['value'];
echo $mycheck;
endif;
?>
<!-- send value-->
<form action="" method="post">
<select name="value">
<option value="0">0</option>
<option value="5">5</option>
</select>
<input type="submit" name="submit">
</form>
<!-- doesn't send value-->
<form action="" method="post">
<input name="different_var">
<input type="submit" name="submit">
</form>
解决方法:
是的,这是设置默认值的可接受方式.
PHP 5.3中引入的另一种方法是省略三元表达式的中间参数:
$mycheck = $_POST['value'] ?: 0;
但是,如果未设置$_POST [‘value’],这可能会引发尝试访问具有不存在键的数组的通知.因此,您的原始方法更容易被接受.
标签:php,conditional-operator 来源: https://codeday.me/bug/20190613/1232484.html