PHP FOREACH CINOOPS со ссылками - странное поведение [дублировать] ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
PHP FOREACH CINOOPS со ссылками - странное поведение [дублировать]

Сообщение Anonymous »

Я в настоящее время разрабатываю веб -страницу, и во время этого я написал какой -то код, который выглядит похоже на это: < /p>
$foo = ['bar1', 'bar2', "bar3"];

foreach($foo as $i => &$bar){
if($bar == "bar2"){
array_splice($foo, $i+1, 0, ['bar-NEW']);
}
}

foreach($foo as $i => $bar){
//do something here
}

echo "
";
print_r($foo);
< /code>
Цель состоит в том, чтобы итерация через массив и добавить элемент с использованием array_splice после элементов, которые соответствуют определенным требованиям.
В первой петле Foreach Im прохождение $ bar в качестве ссылки, потому что я также изменяет эти элементы в этой петле, в то время как вторая петля Foreach не изменяет элементы, и я не нуждаюсь в том, что мне не нужно. Будьте, поскольку второй до последнего элемента скопируется по последнему пункту по причинам, которые я не могу выяснить. Advance!


Подробнее здесь: https://stackoverflow.com/questions/795 ... -behaviour

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