Когда вы присваиваете по значению переменную массива в PHP, действительно ли массив копируется?

Кажется действительно неэффективным, что в PHP, когда массив присваивается по значению, все его внутренние элементы рекурсивно копируются в новую переменную. Это то, что на самом деле происходит внутри?

-1

Решение

Нет, внутренний массив не копируется при назначении.
Рассмотрим следующий фрагмент:

$a = array(111, 222, 333);
$b = $a;
$b[0] = 999;

Если картинка стоит тысячи слов, то вот что происходит внутри, когда назначаются массивы, а затем изменяются их элементы массива:

введите описание изображения здесь

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]