douzi8112 2017-05-17 04:36
浏览 48
已采纳

将多维数组转换为单个数组

can you please help me with my code, I'm having a hard time in transforming my multidimensional array to a single array

this is my multidimensional array:

array:2 [
      0 => array:3 [
        0 => "tuesday"
        1 => "thursday"
      ]
      1 => array:3 [
        0 => "monday"
        1 => "wednesday"
        2 => "friday"
      ]
    ]

this is what I'm trying to do:

array:["tuesday","thursday","monday","wednesday","friday"]

this is my code

$day = [
          0 => array:3 [
            0 => "tuesday"
            1 => "thursday"
          ]
          1 => array:3 [
            0 => "monday"
            1 => "wednesday"
            2 => "friday"
          ]
        ];
$days = [];

$lent = count($day);
        for ($x=0; $x < $lent ; $x++) { 
            $lengt = count($data[$x]);
            for ($i=0; $i < $lengt; $i++) { 
                $days[$x] = $day[$x][$i];
            }
        }
  • 写回答

3条回答 默认 最新

  • du67560 2017-05-17 04:41
    关注

    Easy:

    $flattened = [];
    foreach ($mdarray as $arr) {
        foreach ($arr as $val) {
            $flattened[] = $val;
        }
    }
    

    What the above code does is it iterates through the multi-dimensional array, gets the value of each subarray, and adds its elements to $flattened.

    If you're using PHP 5.6+, this code is simpler:

    $flattened = array_merge(...$mdarray);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?