以下の内容はhttps://iww.hateblo.jp/entry/20220603/arrayより取得しました。


PHPで、foreachでぐるぐる回ってる最中に要素を削除する

一般的に禁忌というか面倒な 配列をループ中の要素削除 も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() も正しく減ってる。 やったぜ




以上の内容はhttps://iww.hateblo.jp/entry/20220603/arrayより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14