Bu sorunun bir çok cevabı vardır ama ben kullanıldığında çünkü bir şey daha eklemek istiyorum unsetveyaarray_diff belirli bir öğe kaldırıldığında yeni dizinin dizinleriyle oynamak için birkaç sorun yaşadığım (ilk dizin kaydedildiğinden)
Örneğe geri dönüyorum:
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
$array_without_strawberries = array_diff($array, array('strawberry'));
veya
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
unset($array[array_search('strawberry', $array)]);
Sonucu yazdırırsanız elde edersiniz:
foreach ($array_without_strawberries as $data) {
print_r($data);
}
Sonuç:
> apple
> orange
> blueberry
> kiwi
Ancak dizinler kaydedilecek ve böylece öğenize aşağıdaki gibi erişeceksiniz:
$array_without_strawberries[0] > apple
$array_without_strawberries[1] > orange
$array_without_strawberries[3] > blueberry
$array_without_strawberries[4] > kiwi
Ve böylece son dizi yeniden endekslenmez. Bu nedenle unsetveya öğesinden sonra eklemeniz gerekir array_diff:
$array_without_strawberries = array_values($array);
Bundan sonra dizinizin normal bir dizini olacaktır:
$array_without_strawberries[0] > apple
$array_without_strawberries[1] > orange
$array_without_strawberries[2] > blueberry
$array_without_strawberries[3] > kiwi
Bu gönderi ile ilgili: Re-Index Array

Umarım yardımcı olur