を使用した後、配列の順序が失われるのに少し問題がありunset()
ます。これは私が使用しているコードです。
$id = $_GET['id'];
for ($i = 0; $i < count($my_array); $i++) {
if ($my_array[$i] == $id) {
unset($my_array[$i]);
}
}
$my_array
4つのアイテムがあり、$my_array[1]
に等しいと仮定し$id
ます。それを設定解除した後、ループして$my_array
、未定義のオフセット:1エラーが発生します。で、、、、print_r($my_array)
を取得します。$my_array[0]
$my_array[2]
$my_array[3]
私はそれが起こっている理由を完全に理解しています。アイテム2'がアイテム1にドロップし、残りのアイテムがそれぞれ配列の最後にドロップするように、配列のインデックスを再作成する方法はありますか?
のようなものreindex($my_array)
は甘いでしょう。新しい配列を使用して別のforループを実行し、それらを手動で転送できることはわかっていますが、ワンステップソリューションは素晴らしいでしょう。どこにも何も見つかりませんでした。