ホームページ  >  記事  >  バックエンド開発  >  php では、0 == false、0 == false は等しくなりますが、false != false が理由です。

php では、0 == false、0 == false は等しくなりますが、false != false が理由です。

WBOY
WBOYオリジナル
2016-07-28 08:27:142300ブラウズ

まず特殊なケースを見てみましょう:

var_dump(0 == 'false')、bool(true) を返します、PHP は 0 が任意の文字列と等しいと判断します

var_dump(0==='false') 、 bool( false) を返します。型と値が一致する場合、それらは等しくなければなりません。
var_dump(0 == false)、bool(true) を返します。


上記の結果の理由 (php 公式ドキュメントからの翻訳):

1. bool 型の場合:

bool 型を出力する場合、またはステートメントで使用すると数値に変換され、trueは1、falseは0になります。

たとえば、 $a = true; var_dump($a+1)、returns (int)2; $a は 1 に変換され、合計は 2 になります。 0 または 1 を表すブール型は象徴的な定数ではなく、値を持ちます。

2. 文字列型:

php は常に自動的に文字列を数値に変換しようとします。たとえば、var_dump('abc'+3') は int(3) を返します。

最初の 'abc' は数値 0 に変換され、加算されると 3 になります。

変数の型を検出する方法:
1. var_dump ($param) は、変数の型と値を返します。

2. is_int()、is_bool()、is_string(); 関数を使用して、

一般的に使用される型変換メソッドを返します。

変数 $param



整数型 (int)$param

文字型 (string)$param

ブール型 (bool)$param

ブール型に変換する別の方法: $a = !5、

$a は false

、$a = !!5、$a は true; 上記は、php で 0 == false、0 == false が等しくなる理由、および false = false になる理由を紹介しました。 、関連コンテンツも含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。