if (0)常にfalseを返します。また、 falseif(false)を返します。これらの違いが理解できません。どちらの場合も、実際に返された場合はどうなりますか? それはNULLですか、それとも何か他のものですか?
2 に答える
3
falseブール値0、整数、 NULLは値のない変数を表します。
ifコンストラクト内
if( expression ) statement;
ifは式がbooleanであることを期待しているため、integerは boolean0に評価されます。 false
より詳しい情報 :
演算子、関数、または制御構造がブール引数を必要とする場合、ほとんどの場合、値は自動的に変換されます。
ブール値に変換する場合、次の値はFALSEと見なされます:
- ブール値 のFALSE自体
- 整数0 (ゼロ)
- float 0.0 (ゼロ)
- 空の文字列と文字列"0"
- 要素がゼロの配列
- メンバー変数がゼロのオブジェクト(PHP 4 のみ)
- 特別な型NULL (未設定の変数を含む)
- 空のタグから作成されたSimpleXMLオブジェクト
他のすべての値はTRUEと見なされます (リソースを含む)。
詳細については、ブール値を確認してください。
于 2013-10-22T08:48:20.463 に答える
0
[0, null, false, "", array(), etc]既存のものや空ではないものと比較することを想像してみてください。
PHP は厳密に型指定された言語ではありません。false when nonstrict comparison (==) を次のように見てください。
0それならりんごじゃないfalse (has apples more then 0? No)。
array()- false (set is not empty? No).
""-false (has string symbols? No)
于 2013-10-22T08:59:40.837 に答える