Добавление новой ссылки на любой элемент массива влияет на поведение массива.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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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