-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)ternary 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に設定します。

回答が得られた場合は、回答に対してチェックマークを付けてください。これにより、未解決の質問の数が減り、未解決の質問のプールから削除されます。

于 2013-02-11T14:07:19.497 に答える