in_array(0, array("pop"))
が1を返しますか?なぜin_array(0、*)は常に1を返します
docsを参照してください。明らかに0は配列内の値ではなく、0またはFALSEを返します。
in_array(0, array("pop"))
が1を返しますか?なぜin_array(0、*)は常に1を返します
docsを参照してください。明らかに0は配列内の値ではなく、0またはFALSEを返します。
in_array($needle, $haystack, $strict = FALSE)
ルース比較を厳密に設定しない限り、針用ヘイスタックを検索します。 3番目の厳密な引数を指定しないと、値はphpの緩やかなコンパイルルールに従って比較されます。 http://php.net/manual/en/types.comparisons.phpにアクセスしてください。この緩やかな比較動作が文書化されています。
0 == "pop"
はTRUE
0 === "pop"
を返すルーズ比較は厳密第三パラメータがTRUEに設定されている場合、in_array()関数はまた、針の種類をチェックするFALSE
downvoteの説明をお願いしますか? – Robert
を返す厳密な比較でありますヘイスタック。 - http://php.net/en/in_array – splash58
あなたがすでに提供しているマニュアルでは、文字列 '厳密に設定されていない限り、ゆるやかな比較を使って針のために干し草を検索します。'あなたは何が__loose comparison__なのか知っていますか? –
これは機能であり、バグではありません。私の推測は '(int) 'pop' = 0'です。 – ArtisticPhoenix