一般的に禁忌というか面倒な 配列をループ中の要素削除 もPHPなら安全
<?php $list = ["a","b","c","dog","e"]; print_r($list); print("count = ". count($list) ."\n"); foreach($list as $k=>$a) if($a=="dog") unset($list[$k]); print_r($list); print("count = ". count($list) ."\n");
foreachで回って、要素が "dog" だったら削除する
Array
(
[0] => a
[1] => b
[2] => c
[3] => dog
[4] => e
)
count = 5
Array
(
[0] => a
[1] => b
[2] => c
[4] => e
)
count = 4unsetで削除してもキーは維持される仕様のおかげだ。
要素数 count() も正しく減ってる。 やったぜ