使用 PHP 将 3D 数组转换为 2D 数组


Using PHP to transform a 3D array into a 2D one

我的表单生成一个三维数组。我想将这个数组转换为二维数组。

我试过这个没有成功:

$_rows = array();
foreach ($_contacts as $name => $_arr) {
   foreach ($_arr as $key => $val) {
        $_rows[] = array ($name => $val);
   }
}

数据来源:

[_contacts] => Array
    (
    [name] => Array
            (
                [0] => foo
                [1] => bar
            )
    [phone] => Array
            (
                [0] => 012345
                [1] => 098765
            )
    [email] => Array
            (
                [0] => mail.com
                [1] => yahoo.com
            )
    )

期望输出:

 Array
    (
        [0] => Array
            (
                [name] => foo
                [phone] => 012345
                [email] => mail.com
            )
        [1] => Array
            (
                [name] => bar
                [phone] => 098765
                [email] => yahoo.com
            )
    )

有什么想法是我错了吗?

$_rows = array();     
foreach ($_contacts as $name => $_arr) {          
   foreach ($_arr as $key => $val) {            
        $_rows[$key][$name] = $val;
   }
}