-4

需要一些解释。我制作的表格如下:

<form action="test4.php" method="post">
    <select name="code">
        <option value="A">A</option>
        <option value="B">B</option>
        <option value="C">C</option>
        <option value="D">D</option>
        <option value="E">E</option>
    </select>
    <input type="submit" value="Cus!">
</form>

然后将表单的值存储到 $code,我使用了我在论坛中找到的一行脚本

$code= empty ($_POST['code']) ? null : $_POST['code'];

实际上它有效,但没有解释。谁能给我解释一下??

4

4 回答 4

2

empty()true如果变量是0, false, null, 空字符串,未定义等,则返回。

(condition ? result-if-condition-is-true : result-if-condition-is-false)被称为 aternary operator并且可以在 PHP 手册中找到

也可以这样写:

if (empty($_POST["code"])) {
    $code = null;
} else {
    $code = $_POST["code"];
}
于 2013-02-11T14:02:03.103 回答
2

三元的。语法是var = (true) ? trueValue : falseValue;这样的:

if  ( empty($_POST['code']) ) {
    $code =  null;
} else {
    $code = $_POST['code'];
}
于 2013-02-11T14:02:35.760 回答
2

这是一个三元运算符。

三元运算符采用以下形式:

condition ? value_if_true : value_if_false

您的示例中的行等效于以下内容:

if (empty($_POST["code"])) {
    $code = null;
}
else {
    $code = $_POST["code"];
}
于 2013-02-11T14:03:24.490 回答
0

Rad,它是一个三元表达式。它只是意味着检查 $_POST['code'] 的内容,如果为 true 则设置 null 否则将值设置为 $_POST['code'] 为 $code 。

Rad 如果您得到了答案,请在答案上打勾,这将减少未决问题的数量,并将从未决问题池中删除。

于 2013-02-11T14:07:19.497 回答