Pertanyaan ini memiliki beberapa jawaban tetapi saya ingin menambahkan sesuatu lebih karena ketika saya menggunakan unsetatauarray_diff saya memiliki beberapa masalah untuk bermain dengan indeks array baru ketika elemen tertentu dihapus (karena indeks awal disimpan)
Saya kembali ke contoh:
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
$array_without_strawberries = array_diff($array, array('strawberry'));
atau
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
unset($array[array_search('strawberry', $array)]);
Jika Anda mencetak hasilnya, Anda akan mendapatkan:
foreach ($array_without_strawberries as $data) {
print_r($data);
}
Hasil:
> apple
> orange
> blueberry
> kiwi
Tetapi indeks akan disimpan dan Anda akan mengakses elemen Anda seperti:
$array_without_strawberries[0] > apple
$array_without_strawberries[1] > orange
$array_without_strawberries[3] > blueberry
$array_without_strawberries[4] > kiwi
Dan array terakhir tidak diindeks ulang. Jadi, Anda perlu menambahkan setelah unsetatau array_diff:
$array_without_strawberries = array_values($array);
Setelah itu array Anda akan memiliki indeks normal:
$array_without_strawberries[0] > apple
$array_without_strawberries[1] > orange
$array_without_strawberries[2] > blueberry
$array_without_strawberries[3] > kiwi
Terkait dengan posting ini: Re-Index Array

Semoga ini bisa membantu