взорвать () каждый элемент в массиве, что дает многомерный массив

Как я могу использовать функцию PHP explode() для каждой записи массива?

Например:

foreach ($persons as $person) {
    $zips = $person->getZipResponsibility();
    $zips = nl2br($zips);

    $rangesArray = explode('<br />', $zips);
}

Возвращает это:

Array
(
    [0] => 10000-20000
    [1] => 30000-40000
)

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

Array
(
  [0] => Array (
     [0] => 10000
     [1] => 20000
  )
  [1] => Array (
     [0] => 30000
     [1] => 40000
  )
)

person YeppThat'sMe    schedule 07.09.2012    source источник


Ответы (2)


Это должно работать, не проверял.

$rArray = array();

foreach($rangesArray as $key=>$val) {
    $rArray[] = explode('-', $val);
}
person Kermit    schedule 07.09.2012
comment
С уважением, я думаю, что мой ответ ближе, поскольку он выводит многомерный массив, который вы запрашивали в своем первоначальном вопросе. - person user1477388; 07.09.2012
comment
@user1477388 user1477388 Эта итерация также создаст массив с несколькими размерами, поскольку он назначает массив каждому $rArray. - person Kermit; 07.09.2012

Просто используйте еще один взрыв, на этот раз вот так: explode('-', $i);. Вам нужно будет поместить его в foreach следующим образом:

$x = 0;
foreach ($rangesArray as $i)
{
  $arr = explode('-', $i);
  foreach ($arr as $j)
  {
    $arr1[$x] = $j;
  }
  $x++;
}

var_dump($arr1);
person user1477388    schedule 07.09.2012
comment
Случайно удалил его, но да, $x не нужен. - person wesside; 07.09.2012