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条)

报告相同问题?

悬赏问题

  • ¥15 我下载图形界面重启完就变成这样了,打字也打不了,动也动不了,该怎么解决(操作系统-centos)
  • ¥15 VBA中在窗体中遍历所有checkbox控件,提取出被选中的checkbox的caption值
  • ¥15 在Ubuntu上有什么命令,或者是系统文件能告诉我链接nvme ssd的pcie槽位是不是支持热插拔功能?
  • ¥15 ansys license许可证问题
  • ¥20 QQ号和密码都能正常登录微信 QQ号和密码登录微信显示密码错误
  • ¥15 qiankun主应用注册子应用提示跨域
  • ¥15 单片机RTOS Kernel与应用分离开发,Kernel如何调起应用?
  • ¥15 快手小店商家版APP怎么第三方APP跳转到指定用户聊天界面
  • ¥15 为什么AVL fire软件仿真时的步长改变了,仿真结果也会改变
  • ¥100 如何帮我写一个java小游戏