ホームページ > バックエンド開発 > PHPの問題 > php falseと0の違いは何ですか

php falseと0の違いは何ですか

藏色散人
リリース: 2023-03-14 07:34:01
オリジナル
2788 人が閲覧しました

php false と 0 の違い: 1. False はブール値で、0 は値 0 です; 2. PHP では、false は値 0 で保存されますが、false と 0 の型は異なります。異なっています。

php falseと0の違いは何ですか

#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3。

php の false と 0 の違いは何ですか?

php の 0 と Null false の違い

<?php
$test=0;
if($test==&#39;&#39;){
 echo &#39;<br />在php中,0即为空&#39;; //被输出
}
if($test===&#39;&#39;){
 echo &#39;<br />在php中,0即为空&#39;; //不被输出
}
if($test==NULL){
 echo &#39;<br />在php中,0即为空&#39;; //被输出
}
if($test===NULL){
 echo &#39;<br />在php中,0即为空&#39;; //不被输出
}
if($test==false){
 echo &#39;<br />在php中,0即为空&#39;; //被输出
}
if($test===false){
 echo &#39;<br />在php中,0即为空&#39;; //不被输出
}
?>
ログイン後にコピー

理由は次のとおりです。 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート