php false と 0 の違い: 1. False はブール値で、0 は値 0 です; 2. PHP では、false は値 0 で保存されますが、false と 0 の型は異なります。異なっています。
#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3。
php の false と 0 の違いは何ですか?
php の 0 と Null false の違い
<?php $test=0; if($test==''){ echo '<br />在php中,0即为空'; //被输出 } if($test===''){ echo '<br />在php中,0即为空'; //不被输出 } if($test==NULL){ echo '<br />在php中,0即为空'; //被输出 } if($test===NULL){ echo '<br />在php中,0即为空'; //不被输出 } if($test==false){ echo '<br />在php中,0即为空'; //被输出 } if($test===false){ echo '<br />在php中,0即为空'; //不被输出 } ?>
理由は次のとおりです。 PHP 変数は C 言語構造に格納され、空の文字列、NULL、および false はすべて値 0 で格納されます。この構造には zend_uchar 型があり、そのようなメンバー変数は変数の型を保存するために使用されます。空の文字列は文字列、NULL の型は NULL、false はブール値です。
これを出力するには、echo gettype(''); と echo gettype(NULL); を使用できます! === 演算子は値を比較するだけでなく、型も比較するため、3 番目は false になります!
したがって、=== は次の関数と等しいと言えます:
function eq($v1, $v2) { if($v1 == $v2 && gettype($v1) == gettype($v2)) { return 1; } else { return 0; } }
したがって、空の文字列 ('')、false、NULL、および 0 は値が同じですが、型が異なります。
注:
NULL は特殊な型です。
2 つの場合に NULL になります
1. $var = NULL;
2. $var;
3."", 0, "0", NULL, FALSE, array(), var $var; および属性のないオブジェクトは、 var が空の場合、空とみなされます。 TRUEを返します。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphp falseと0の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。