什么';是否已设置($_POST[';';])_POST[';';]:false


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

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

它是三元运算符。翻译过来就是:

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']) {}

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

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

?:是三元算子。

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

检查$_POST阵列中是否存在usrnm值。如果不是,则返回false。如果存在值,则返回usrnm的值。

等效if..else:

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

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

它只是节省了一些打字。两者都一样。

博客