$a = new stdClass;
$a->first = 'James';
$a->last = 'Doe';
$b = (object) [
'first' => 'James',
'last' => 'Doe',
];
echo 'Loose compare: ' . ($a == $b ? 'equal' : 'different') . PHP_EOL; // equal
echo 'Type compare: ' . (gettype($a) == gettype($b) ? 'equal' : 'different') . PHP_EOL; // equal
echo 'Strict compare: ' . ($a === $b ? 'equal' : 'different') . PHP_EOL; // different
如何严格比较不好?更重要的是它们可以严格相同吗?
答案 0 :(得分:7)
如果$a
和$b
是完全相同的对象(相同的内存位置),则进行严格的比较检查。使它们相同(严格)的唯一方法是$a = $b;
请参阅http://php.net/manual/en/language.oop5.object-comparison.php以获取参考资料