Ответ 1
$array = array_values($array);
Имеется 2 функции.
$array = array("first", "second", "third", "fourth");
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);