Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Удаление элемента массива, встроенная функция
То есть есть массив, индекс от 0 до количество элементов минус 1.
Допустим нужно удалить элемент массива с индексом 2 ($arr[2]). Есть ли встроенная функция в php, чтобы при удалении элемента массива индекс всех последующих элементов смещался на единицу назад. То есть в данном случае при удалении $arr[2] мы получили такой массив:
Я могу удалить элемент массива (unset) и манипулированием сместить остальные элементы, но меня интересует, есть ли именно встроенная функция php, которая позволяет это сделать?
DelphinPRO
Отправлено: 06 Апреля, 2012 - 07:26:33
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
unset($arr[3])
sort($arr)
----- Чем больше узнаю, тем больше я не знаю.
ant
Отправлено: 06 Апреля, 2012 - 07:38:54
Частый гость
Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011 Откуда: Украина, Крым
Помог: 0 раз(а)
DelphinPRO
Спасибо!
ololowke
Отправлено: 06 Апреля, 2012 - 13:23:40
Новичок
Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
DelphinPRO пишет:
unset($arr[3])
sort($arr)
sort($arr); разве не отсортирует массив по возрастанию значений?
DelphinPRO
Отправлено: 06 Апреля, 2012 - 13:51:49
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
ololowke, да. и ключи сбрасывает, что автору и нужно
----- Чем больше узнаю, тем больше я не знаю.
DlTA
Отправлено: 06 Апреля, 2012 - 14:52:46
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
DelphinPRO пишет:
ololowke, да. и ключи сбрасывает, что автору и нужно
не уверен
ant, а зачем сбрасывать ключи?
ant
Отправлено: 06 Апреля, 2012 - 14:56:28
Частый гость
Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011 Откуда: Украина, Крым
Помог: 0 раз(а)
DlTA
Есть массив. Нужно удалить любой элемент и сбросить ключи (то есть чтобы получился тот же массив, но без удаленного элемента, индексы по порядку). Как в примере в первом посте. Вариант с sort() вроде вполне рабочий.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.