什么是 isset($_POST[''])?_POST['']:false

What's isset($_POST[''])?_POST['']:false

isset($_POST['usrnm'])?$_POST['usrnm']:false;实际上是做什么的?比isset($_POST['usrnm']) {}好吗?

isset($_POST['usrnm'])?$_POST['usrnm']:false;实际上是做什么的?

?: 是三元运算符。

$userName = isset($_POST['usrnm']) ? $_POST['usrnm'] : false; // you must have some variable to assign the value

检查 usrnm 值是否存在于 $_POST 数组中。如果不是它 returns false。如果存在值,则它 return usrnm.

的值

等价于if..else:

if (isset($_POST['usrnm'])) {
    $userName = $_POST['usrnm'];
} else {
    $userName = false;
}

isset($_POST['usrnm']) {}好吗?

它只是节省了一些输入。两者相同。

Blog

是三元运算符。这转化为:

if (isset($_POST['usrnm']))
  $userName = $_POST['usrnm']
else
  $userName = false;

以上代码或以下代码:

isset($_POST['usrnm'])?$_POST['usrnm']:false;
  1. 检查是否设置了$_POST['usrnm']变量(可以通过POST的形式设置)。
  2. 如果设置,将设置 $userName 值。否则,它被设置为 false.

第二题

isset($_POST['usrnm']) {}

上面的代码看起来像语法错误。