Есть 2 функции.
$array = array("first", "second", "third", "fourth");
foreach($array as $i=> $string) { if(stristr($string, "e")) { unset($array[$i]); } }
сforeach($array as $i=> $string) { if(stristr($string, "e")) { unset($array[$i]); } }
«second» – это элемент массива с символом «e». Если его unset, $ array [1] останется пустым
$array[0] = "first" $array[1] = "" $array[2] = "third" $array[3] = "fourth"
Я хочу, чтобы $ array [1] был удален из массива (например, в array_shift ()), так что «третий» заменяет место «второго» и «четвертого» места «третьего»,
$array[0] = "first" $array[1] = "third" $array[2] = "fourth"
благодаря
$array = array_values($array);
Я думаю, что лучшее решение, которое я нашел, это:
если вы просто хотите удалить только один элемент:
array_splice($array,1,1); // all keys will be reindexed from 0
где второй и третий параметры смещены (ключ) и длина (сколько нужно удалить)
Лучше всего удалить несколько ключей: используйте array_filter()
чтобы удалить все пустые строки и значение false из массива, а затем array_splice()
чтобы изменить порядок:
array_splice(array_filter($array), 0, 0);