$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
Как получается, что строгое сравнение не подходит? И что еще более важно, они могут быть строго одинаковыми?PHP строгое сравнение двух объектов не является ложным
'$ Ь = $ а; echo ($ a === $ b? 'equal': 'different'). PHP_EOL; ' –