php数组问题

$list=[

            [111,111,222,222],
            [1,2,5,6]
            [21,22,55,66]
            [211,222,555,666]
            [291,292,595,696]
            [290,295,596,699]
            

];
    

如何将上面的数组变成下面的数组呢? 数组[111,111,222,222] 对应excel表里面的表头

[1,2,5,6,】 对应一行数据,行数不限

            
            

$list=[
            ['111',1,2],
            ['111',21,22],
            ['111',21,22],
            ['111',211,222],
            ['111',291,292],
            ['111',290,295],
            ['222',5,6],
            ['222',555,665],
            ['222',595,696],
            ['222',55,66],
            ['222',596,699],
];


阅读 1.4k
2 个回答
$list = [
            [111,111,222,222],
            [1,2,5,6],
            [21,22,55,66],
            [211,222,555,666],
            [291,292,595,696],
            [290,295,596,699],
            
    ];
    
    
    function division($list) {
        $result = [];
        $length = count($list);
        foreach ($list[0] as $key => $value) {
            if ($key % 2) {
                continue;
            }
            
            for ($row = 1; $row < $length; $row++) {
                $item = [];
                array_push($item, $value); 
                for ($i = 0; $i < 2; $i ++) {
                    array_push($item, $list[$row][$key + $i]);
                }
                array_push($result, $item);
            }    
         }
        
         return $result;
    }
    
    var_dump(division($list));
$list = array_map(null,...$list);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题