Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > очистка массива


Автор: alligator 31.1.2014, 17:08
есть массив
Код

Array
(
    [0] => Array
        (
            [1] => 
        )

    [1] => Array
        (
            [1] => 
        )

    [2] => Array
        (
            [0] => Иванов Иван Иванович
        )

    [3] => Array
        (
            [0] => Артемьев Артем Александрович
            [1] => 
        )

    [4] => Array
        (
            [0] => и т.д. 1
            [1] => 


на выходе хочу получить один массив без пустых элементов.

реально ли сделать с помощью array_walk_recursive ?

Автор: jexerrus 19.3.2014, 10:06
надежнее будет рекурсивно по массиву пройтись стандартными средствами и сделать unset() для пустых элементов 

Автор: Aliance 28.4.2014, 10:05
Можно пробовать array_filter, но на вскидку не вспомню будет ли он адекватно работать с многомерными массивами.

Автор: sw04 22.7.2014, 12:06
Код

$array = array('1' => '', '2' => 'some name');
var_dump(array_filter($array)); // array(1) { [2]=> string(9) "some name" }


http://php.net/array_filter

Автор: baldina 22.7.2014, 12:57
Код

<?php 
  function array_filter_recursive($input) 
  { 
    foreach ($input as &$value) 
    { 
      if (is_array($value)) 
      { 
        $value = array_filter_recursive($value); 
      } 
    } 
    
    return array_filter($input); 
  } 

http://ru2.php.net/array_filter

Автор: alligator 31.7.2014, 17:17
Да как раз уже так и сделал =) Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)