Конечно, некоторые функции принимают только собственные массивы.
е следующее:
$object1 = new stdClass();
$object2 = $object1;
$object3 = clone $object1;
$object1->content = 'Ciao';
var_dump($object1);
// Outputs object(stdClass)#1 (1) { ["content"]=> string(4) "Ciao" }
var_dump($object2);
// Outputs object(stdClass)#1 (1) { ["content"]=> string(4) "Ciao" }
var_dump($object3);
// Outputs object(stdClass)#2 (0) { }
Это нормальное поведение PHP, которое$object2
имеет содержание, идентичное$object1
?
Для меня это звучит как$object2
это ссылка на$object1
вместо копии. Клонирование объекта перед изменением содержимого действует как копия. Это поведение отличается от того, что происходит с переменными, и кажется мне неинтуитивным.