isset($_POST['usrnm'])?$_POST['usrnm']:false;
实际上做了什么?它比isset($_POST['usrnm']) {}
好吗?
答案 0 :(得分:2)
是三元运营商。这转化为:
if (isset($_POST['usrnm']))
$userName = $_POST['usrnm']
else
$userName = false;
以上代码或以下代码:
isset($_POST['usrnm'])?$_POST['usrnm']:false;
$_POST['usrnm']
变量(可以通过POST
的表单设置。)$userName
值。否则,它设置为false
。第二个问题
isset($_POST['usrnm']) {}
上面的代码看起来像语法错误。
答案 1 :(得分:1)
isset($_POST['usrnm'])?$_POST['usrnm']:false;
实际上做了什么?
?:
是三元运算符。
$userName = isset($_POST['usrnm']) ? $_POST['usrnm'] : false; // you must have some variable to assign the value
检查usrnm
数组中是否存在$_POST
值。如果不是,则返回false
。如果存在值,则返回usrnm
的值。
等效if..else
:
if (isset($_POST['usrnm'])) {
$userName = $_POST['usrnm'];
} else {
$userName = false;
}
是否优于isset($_POST['usrnm']) {}
?
它只是节省了一些打字。两者都是一样的。