【问题标题】:explode() each element in array, yielding multidimensional arrayexplode() 数组中的每个元素,产生多维数组
【发布时间】:2012-09-07 17:32:27
【问题描述】:

如何在每个数组条目上使用 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
  )
)

【问题讨论】:

    标签: php explode


    【解决方案1】:

    这应该可行,尚未测试。

    $rArray = array();
    
    foreach($rangesArray as $key=>$val) {
        $rArray[] = explode('-', $val);
    }
    

    【讨论】:

    • 恕我直言,我认为我的答案更接近,因为它会输出一个多维数组,这是您在原始问题中所要求的。
    • @user1477388 此迭代还将创建一个多维数组,因为它为每个 $rArray 分配一个数组。
    【解决方案2】:

    只需使用另一个爆炸,这次是这样的:explode('-', $i);。你必须把它放在这样的 foreach 中:

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

    【讨论】:

    • 不小心删了,不过$x不是必须的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多