Добавление новой ссылки на любой элемент массива влияет на поведение массива.Php

Кемеровские программисты php общаются здесь
Anonymous
Добавление новой ссылки на любой элемент массива влияет на поведение массива.

Сообщение Anonymous »

Я видел много вопросов по этому поводу (один из них здесь)

Код: Выделить всё

$a = array('a', 'b', 'c', 'd');

foreach ($a as &$v) { }
foreach ($a as $v) { }

print_r($a);
и я получаю ответы, вам не следует повторно использовать имя переменной $v. Но..!
Может кто-нибудь объяснить мне, почему этот код

Код: Выделить всё

$a = array('a', 'b', 'c', 'd');

foreach ($a as &$v) { }

var_dump($a);
печатает это (обратите внимание, что последний элемент является ссылкой)?

Код: Выделить всё

array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
&string(1) "d"
}
Я ожидаю, что это будет просто значение, только $v должно быть ссылкой.
Другими словами, я имею дело с тем же поведением, которое описано (и хорошо документировано). ) в цитируемом вопросе, хотя я не использую переменную $v неправильно.

Подробнее здесь: https://stackoverflow.com/questions/783 ... -the-array

Вернуться в «Php»