0

以下を比較しようとしています:値が配列でない場合、または値がfalse に等しくない場合は、戻ります。

if (is_array($value) != true || $value != false) return;

これと、私が試している他のバリエーションはうまくいかないようです。ただし、これらを独自の if ステートメントで個別に比較すると、正しい結果が返されます。

どんな助けでも大歓迎です!

4

2 に答える 2

1

あなたはもともと「配列ではないか、falseでない場合」と言っていました。あなたは後ろ向きに考えています。「値が配列またはfalseの場合は続行し、そうでない場合は返す」ことが必要です。

そう:

// This says: "if it's not (an array or false)"
if(!(is_array($value) || $value === FALSE)) return;

ド・モルガンの法則を使用して、これを次のように変換できます。

// This says: "if it's not an array and not false"
if(!is_array($value) && $value !== FALSE) return;
于 2012-07-19T20:31:51.150 に答える
0

私は次のように書きます:

if (!is_array($value) || $value !== false)

PHP では多くのことが == false になる可能性がありますが、ブール値の false だけが === false になる可能性があります。ブール型のマニュアルページ比較演算子のマニュアルページをチェックしてください

于 2012-07-19T20:07:13.000 に答える