Как разбить массив на 2 колонки, если в массиве есть пропуски?

Рейтинг: 0Ответов: 1Опубликовано: 13.03.2015

Здравствуйте!

Есть следующий код:

$array = array(Маша, Даша, Саша, Паша, Миша, Вова, Савва, Слава);
$names = explode(",", $array);
foreach ($names as $key => $value) {
 if (trim($value)!="")  {

       $Names_list .= '<span><img src="'.$key.'.gif">'.$value."</span>";

}
}

Вопрос, как разбить на две колонки, учитывая, что не все имена могут быть в массиве, например:

$array = array(Маша, , Саша, Паша, , Вова, Савва, );

И тогда конструкция вида:

if ($key % 2) {

} else {

}

уже отработает неправильно.

Ответы

▲ 0

Использовать вместо explode функцию preg_split:

$string = 'Маша, , Саша, Паша, , Вова, Савва, ';
$array = preg_split('/\s*,\s*/', $string, -1, PREG_SPLIT_NO_EMPTY);
var_dump($array);

Получаем:

array(5) {
  [0] => string(8) "Маша"
  [1] => string(8) "Саша"
  [2] => string(8) "Паша"
  [3] => string(8) "Вова"
  [4] => string(10) "Савва"
}