Php 将两个简单数组合并为多维数组
我试图将两个数组合并在一起,但是我不知道如何合并 第一阵列:Php 将两个简单数组合并为多维数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,我试图将两个数组合并在一起,但是我不知道如何合并 第一阵列: Array ( [0] => a [1] => b [2] => c ) 第二阵列: Array ( [0] => 1 [1] => 1 ) 我正在努力实现的目标: Array ( [0] => Array ( [0] => a [1] => 1 )
Array
(
[0] => a
[1] => b
[2] => c
)
第二阵列:
Array
(
[0] => 1
[1] => 1
)
我正在努力实现的目标:
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 1
)
[2] => Array
(
[0] => c
)
)
我知道这很容易实现,但我的大脑拒绝合作。也许我需要更多的咖啡
//感谢所有的反对票:)也许不是最好的方式,但在这种情况下应该可以:
$newArray = array();
foreach ($array1 as $index => $row) {
$newArray[$index] = array($row);
if (isset($array2[$index])) {
$newArray[$index][] = $array2[$index];
}
}
简单的
foreach
迭代:
$a = array('a', 'b', 'c');
$b = array(1, 1);
$result = array();
foreach($a as $key => $value) {
$tmp = array($value);
if (isset($b[$key])) {
$tmp[] = $b[$key];
}
$result[] = $tmp;
}
print_r($result);
结果:
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 1
)
[2] => Array
(
[0] => c
)
)
这称为“压缩”,当第一个参数为null
时,可以在php中完成:
$x = ['a', 'b', 'c'];
$y = [1, 2];
$z = array_map(null, $x, $y);
print_r($z);
结果:
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 2
)
[2] => Array
(
[0] => c
[1] =>
)
)
//第一个数组:
$array_1=array(0=>'a',1=>'b',2=>'c');
//第二阵列:
$array_2=数组(0=>1,1=>1);
//结果:
$holder=数组();
对于($i=0;$i喝一杯coffie,然后考虑for
或foreach
循环并将值填充到新数组中。我认为@georg answer也可以。
//1st Array:
$array_1 = array( 0=>'a',1=>'b',2=>'c');
//2nd Array:
$array_2 = array( 0=>1,1=>1);
//Result:
$holder = array();
for($i =0 ; $i <= max(count($array_1),count($array_2)); $i++){
if(isset($array_1[$i])){
$holder[$i][] = $array_1[$i];
}
if(isset($array_2[$i])){
$holder[$i][] = $array_2[$i];
}
}
//Required Result:
print_r($holder);