一般的に禁忌というか面倒な 配列をループ中の要素削除 も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 = 4
unsetで削除してもキーは維持される仕様のおかげだ。
要素数 count() も正しく減ってる。 やったぜ