まず特殊なケースを見てみましょう:
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. is_int()、is_bool()、is_string(); 関数を使用して、
変数 $param
文字型 (string)$param
ブール型 (bool)$param
ブール型に変換する別の方法: $a = !5、
$a は false、$a = !!5、$a は true; 上記は、php で 0 == false、0 == false が等しくなる理由、および false = false になる理由を紹介しました。 、関連コンテンツも含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。