[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: удаление элемента массива
Guest
есть ли функция, которая бы удалила элемент индексного массива так, что ключи всех последующих элементов уменьшились на 1, то есть устранили этот пробел удаленного?

или только самому писать?



Спустя 9 часов, 24 минуты, 33 секунды (26.09.2010 - 09:39) Nord написал(а):
Есть: array_splice()


$arr = array('a', 'b', 'c', 'd', 'e');
array_splice($arr, 2, 1);
var_dump($arr);
//array
// 0 => string 'a' (length=1)
// 1 => string 'b' (length=1)
// 2 => string 'd' (length=1)
// 3 => string 'e' (length=1)


Спустя 17 минут, 57 секунд (26.09.2010 - 09:57) twin написал(а):
Можно это сделать более прозрачно:
$arr = array('a', 'b', 'c', 'd', 'e');
unset($arr[3]);
sort($arr);
var_dump($arr);

Спустя 2 часа, 53 минуты, 20 секунд (26.09.2010 - 12:51) Guest написал(а):
Nord
twin

Спасибо!!!

Спустя 1 час, 34 минуты, 32 секунды (26.09.2010 - 14:25) Nord написал(а):
Цитата (twin)
Можно это сделать более прозрачно:

Да, но в общем случае входной массив вовсе не обязан быть отсортирован. Тогда уж так:

$arr = array('d', 'b', 'c', 'a', 'e');
unset($arr[3]);
$arr = array_values($arr);
var_dump($arr);

Но array_splice() все равно лаконичней



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.