重新排列多维数组 - php

我有以下格式的数组:

Array (
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )
    [1] => Array
        (
            [0] => d
            [1] => e
            [2] => f
        )
    [2] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 0
        )
    [3] => Array
        (
            [0] => 100
            [1] => 200
            [2] => 300
        )
)

第一个数组(外部)中的索引,即0表示名称,1表示类型,2表示错误,3表示大小。

我必须以以下格式重新排列此数组:

Array
(
    [0] => Array
        (
            [name] => a
            [type] => d
            [error] => 0
            [size] => 100
        )
    [1] => Array
        (
            [name] => b
            [type] => e
            [error] => 0
            [size] => 200
        )
    [2] => Array
        (
            [name] => c
            [type] => f
            [error] => 0
            [size] => 300
        )
)

有什么简短的方法可以解决这个问题吗?

参考方案

您可以使用array_map进行此操作:

// $ array是您的数组
$ new_array = array_map(null,$ array [0],$ array [1],$ array [2],$ array [3]);
//然后,更改键
$ new_array = array_map(function($ v){
返回数组(
'名称'=> $ v [0],
'type'=> $ v [1],
'错误'=> $ v [2],
'size'=> $ v [3]
);
},$ new_array);

一个简单的循环可能会更快。

编辑:解释

如here所述,对array_map的第一次调用将重组数组并更改键:

输入:array('foo1','bar1'),array('foo2','bar2')
输出:array('foo1','foo2'),array('bar1','bar2')

注意null值作为回调。

然后第二个调用就是在这里根据OP的需要更改键,用关联的键替换索引数组。

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

我如何在php数组中传递空键 - php

如果没有这样的键,如何获取数组内容$products[0] 这将使我部分到达那里,但我该如何过去[]( [0] => Array ( [] => Array ( [0] => Array ( [product_name] => stuff i need to get to ) 参考方案 真奇怪你可以试试$products[0][�…

PHP OOP概念付诸实践 - php

目前,我所拥有的是一份以程序庄园形式编写的审查表。我想更改一些内容,并希望在此过程中,根据过去的经验,在OOP中,网站的整个审核部分会更好。数据流如下:HTML表单=>提交=> jQuery验证=>? => PHP验证=>添加记录我的问题是要了解将POST数据传递给类的正确方法是使用AJAX / jQuery或使用具有标准感谢页…

PHP-将2个数组的值连接到1个新数组中 - php

我有2个具有相同结构的独立多维数组。例:Array ( [0] => Array ( [uploadData] => 1234 Main St ) [1] => Array ( [uploadData] => 5678 Elm St ) [2] => Array ( [uploadData] => 9879 New St …