[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сжатие массива
ITupaT
Как мне сжать массив? Надо удалить пустые ячейки и собрать массив заново.
сейчас так
Array (
[0] =>
[1] =>
[2] =>
[3] => текст1
[4] =>
[5] =>
[6] => текст2
[7] =>
[8] =>
[9] =>
[10] =>
[11] => текст3
[12] =>
[13] => текст4
[14] =>
)
а надо так
Array (
[0] => текст1
[1] => текст2
[2] => текст3
[3] => текст4
)



Спустя 3 минуты (10.07.2012 - 16:12) Игорь_Vasinsky написал(а):
удали пустые элементы массива

либо array_filter() или array_map

можешь пересобрать в foreach - но это велосипед

Спустя 6 минут, 33 секунды (10.07.2012 - 16:19) ITupaT написал(а):
Игорь_Vasinsky
можешь на моём примере показать?

Спустя 10 минут, 44 секунды (10.07.2012 - 16:29) kamanch написал(а):
ITupaT
эээ.. всмысле, разжеванное и положенное в рот проглотить за тебя?
Там три строки кода, если заглянешь в мануал array_filter()

Спустя 7 минут, 32 секунды (10.07.2012 - 16:37) Zhandos написал(а):
Так красивее. Одной строчкой можно выпилить все ненужные данные.

$arr = array( '', '', 2,'', 3, ' ', 4, 5, '', NULL, ' ');
$arr = array_diff($arr, array('', ' ', NULL));
echo '<pre>';
var_dump($arr);
echo '</pre>';

array_diff

Спустя 5 минут, 14 секунд (10.07.2012 - 16:42) ITupaT написал(а):
Zhandos
спасибо ) сейчас протестирую )

Спустя 7 минут, 15 секунд (10.07.2012 - 16:49) ITupaT написал(а):
Zhandos
выдало
Array (
[3] => текст1
[6] => текст2
[11] => текст3
[13] => текст4
)
а надо
Array (
[1] => текст1
[2] => текст2
[3] => текст3
[4] => текст4
)

Спустя 20 минут, 14 секунд (10.07.2012 - 17:10) Zhandos написал(а):
Во первых - индекс массива начинается не с 1, а с 0, по крайней мере должен))
Ну и во вторых, есть волшебная функция array_values.
И вот ее применение:

$arr = array( '', '', 2,'', 3, ' ', 4, 5, '', NULL, ' ');
$arr = array_values(array_diff($arr, array('', ' ', NULL)));

Спустя 6 минут, 26 секунд (10.07.2012 - 17:16) ITupaT написал(а):
Zhandos
да знаю, что с 0 ) ошибся.
Протестировал. Все так как я хотел )) Большое спасибо!!! Хорошо, что есть люди, которые отлично в этом разбираются )

Спустя 4 минуты, 36 секунд (10.07.2012 - 17:21) Zhandos написал(а):
Всегда рад помочь)
Быстрый ответ:

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