Почему удаленное значение из массива PHP печатается в foreach даже после его удаления из массиваPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему удаленное значение из массива PHP печатается в foreach даже после его удаления из массива

Сообщение Anonymous »

Я написал простую программу, чтобы понять эффект удаления элемента массива внутри цикла foreach в этом цикле. Я заметил, что даже если я удалил элемент 4, когда 1-й элемент массива вошел в итерацию foreach, он все равно будет напечатан. Почему это так?
код:
$arr2 = array(1,2,3,4,5);

foreach($arr2 as $elem)
{
echo '
val : '.$elem;

$index=array_search(4,$arr2); // search for 4 in array

if($index != false)
{
echo ' index :'.$index.' ';

unset($arr2[$index]); // delete 4 from array
}
}

вывод:
val : 1 index :3
val : 2
val : 3
val : 4 // 4 gets printed !!
val : 5


Подробнее здесь: https://stackoverflow.com/questions/444 ... it-is-dele
Ответить

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

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

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

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

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