0

空かどうかをチェックする必要がある事後変数があります。変数の値を次のように見ます。

print_r($_POST['arrayId']);

そして、期待値を出力します。ただし、これを行うと:

if(!empty($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}

f は出力されますが、実行されるべきコードは出力されません。これはどのように可能ですか?

4

3 に答える 3

3

代わりにこれを行うと、値に関係なく、キーがポスト配列に存在するかどうかがチェックされます。NULLfalse0および「空の」値として扱われるその他の値に対しても機能します...

if(array_key_exists('arrayId', $_POST)) {
    // some stuff
} else {
    echo "f";
}
于 2012-10-03T09:27:22.693 に答える
1

empty()値が の場合、 true を返します0

変更:

if(isset($_POST['arrayId']) && strlen($_POST['arrayId'])) {
    // some stuff
} else {
    echo "f";
}
于 2012-10-03T09:26:25.830 に答える
-1

input'$var' を empty() 関数に検証する

空($var)

var が存在し、空でもゼロでもない値を持つ場合、FALSE を返します。それ以外の場合は TRUE を返します。

次のものは空と見なされます。

"" (空の文字列) 0 (整数としての 0) 0.0 (浮動小数点数としての 0) "0" (文字列としての 0) NULL FALSE array() (空の配列) $var; (変数は宣言されていますが、値はありません)

http://php.net/manual/en/function.empty.php

于 2012-10-03T09:30:47.600 に答える