空かどうかをチェックする必要がある事後変数があります。変数の値を次のように見ます。
print_r($_POST['arrayId']);
そして、期待値を出力します。ただし、これを行うと:
if(!empty($_POST['arrayId'])) {
// some stuff
} else {
echo "f";
}
f は出力されますが、実行されるべきコードは出力されません。これはどのように可能ですか?
空かどうかをチェックする必要がある事後変数があります。変数の値を次のように見ます。
print_r($_POST['arrayId']);
そして、期待値を出力します。ただし、これを行うと:
if(!empty($_POST['arrayId'])) {
// some stuff
} else {
echo "f";
}
f は出力されますが、実行されるべきコードは出力されません。これはどのように可能ですか?
代わりにこれを行うと、値に関係なく、キーがポスト配列に存在するかどうかがチェックされます。NULL
、false
、0
および「空の」値として扱われるその他の値に対しても機能します...
if(array_key_exists('arrayId', $_POST)) {
// some stuff
} else {
echo "f";
}
empty()
値が の場合、 true を返します0
。
変更:
if(isset($_POST['arrayId']) && strlen($_POST['arrayId'])) {
// some stuff
} else {
echo "f";
}
input'$var' を empty() 関数に検証する
空($var)
var が存在し、空でもゼロでもない値を持つ場合、FALSE を返します。それ以外の場合は TRUE を返します。
次のものは空と見なされます。
"" (空の文字列) 0 (整数としての 0) 0.0 (浮動小数点数としての 0) "0" (文字列としての 0) NULL FALSE array() (空の配列) $var; (変数は宣言されていますが、値はありません)