【发布时间】:2015-07-31 18:38:35
【问题描述】:
鉴于我有这些数组:
$array1:
Array
(
[0] => Title1
[1] => Title2
[2] => Title3
[3] => Title4
...
$array2:
Array
(
[0] => A
[1] => B
[2] => C
[3] => D
...
$array3:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
...
我想将所有上面的数组转换成一个多维数组,如下所示:
Array
(
[0] => Array
(
[0] => Title1
[1] => A
[2] => 1
)
[1] => Array
(
[0] => Title2
[1] => B
[2] => 2
)
[2] => Array
(
[0] => Title3
[1] => C
[2] => 3
)
...
我有这段代码可以做我想做的事,但是过多且效率低:
$result1 = array();
foreach($array1 as $key => $value) {
$tmp = array($value);
if (isset($array2[$key])) {
$tmp[] = $array2[$key];
}
$result1[] = $tmp;
}
$result2 = array();
$i=0;
foreach($result1 as $value){
$result2[$i] = $value;
$result2[$i][] = $array3[$i];
$i++;
}
print_r($result2);
在效率方面,我该如何改进我的代码?这可以在一个“foreach”中完成吗?如果我有十个甚至更多的简单数组呢?如果是这种情况,使用我的代码我将不得不复制第二个 foreach 并更改前两个数组之后的每个其他数组的变量。
【问题讨论】:
标签: php arrays multidimensional-array foreach