Inn*_*ate 4 php conditional-operator
这可以使用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>
Run Code Online (Sandbox Code Playgroud)
是的,这是设置默认值的可接受方式.
PHP 5.3中引入的另一种方法是省略三元表达式的中间参数:
$mycheck = $_POST['value'] ?: 0;
Run Code Online (Sandbox Code Playgroud)
但是,如果$_POST['value']未设置,这可能会引发尝试访问具有不存在键的数组的通知.因此,您的原始方法更容易被接受.
| 归档时间: |
|
| 查看次数: |
14547 次 |
| 最近记录: |