我有以下格式的数组:
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 …