第10章 オブジェクト指向構文 / 第4回 模擬試験
PHPのオブジェクトの比較に関する次の記述のうち、正しいものはどれか。
`==`によるオブジェクト比較は、クラスが同じでプロパティの値がすべて等しい場合に`true`になる。
正解
`===`によるオブジェクト比較は、プロパティの値が等しければ別インスタンスでも`true`になる。
オブジェクトの比較は、PHPでは常にエラーになる。
オブジェクトは配列と全く同じ方法で比較される。
解説
`==`は同じクラスかつプロパティの値がすべて等しい場合に`true`。`===`はさらに「同一のインスタンスであるか」まで要求するため、値が同じでも別インスタンスなら`false`になります。(参照: 独習PHP 第4版 第10章 オブジェクト指向構文 10.6.2節 オブジェクトの比較 p.534)