[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по логике работы foreach
Doszhan
foreach ($char as $array){
// operations with $array;
print_r($array); // Все ОК. Необходимые изменения сделаны.
}

print_r($char); // Выводит массив, как будто вышенаписанного цикла foreach и не было.

Что я сделал не так?



Спустя 3 минуты (14.12.2010 - 22:25) kovaldm написал(а):
Операции надо проводить не над $array, а над текущим элементом $char.

Спустя 1 минута, 32 секунды (14.12.2010 - 22:26) twin написал(а):
foreach работает с копией массива, а не с самим массивом. Чтобы изменить сам массив, надо ссылку организовать:
foreach ($char as &$array)

Спустя 2 минуты, 54 секунды (14.12.2010 - 22:29) Doszhan написал(а):
twin, круто smile.gif спасибо

Спустя 22 минуты, 6 секунд (14.12.2010 - 22:51) kirik написал(а):
Цитата (twin @ 14.12.2010 - 14:26)
Чтобы изменить сам массив, надо ссылку организовать:

И потом не забыть эту ссылку убить, чтобы не происходила магия.
Цитата (http://php.net/manual/en/control-structures.foreach.php)
Warning
Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset().
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.