按索引组合 PHP 数组


Combining PHP array by index

我有以下两个数组。我需要一种在 PHP 中将它们组合在一起的方法,以便将两个数组中 index[i] 处的值添加到最终数组中的同一索引中。

阵列 1

[0] => '123456'
[1] => '654123'
[2] => '987456'
[3] => '489522'
[4] => '014779'

阵列 2

[0] => 'feature'
[1] => 'promo'
[2] => 'other'
[3] => 'start'
[4] => 'end'

我需要的最终阵列

[0] => ['123456', 'feature']
[1] => ['654123', 'promo']
[2] => ['987456', 'other']
[3] => ['489522', 'start']
[4] => ['014779', 'end']

到目前为止,最简单的方法是使用 array_map

$result = array_map(null, $array1, $array2));

看到它的实际效果

foreach ($array1 as $index => $value1) {
    $finalArray[$index] = array($value1, $array2[$index]);
}

由于两者都有一个数字键,你可以使用 foreach 来做到这一点:

foreach ($array2 as $key => $value) {
    $finalArray[$value] = $array1[$key];
}

这是一个简单的解决方案,但它应该有效。它只是获取第二个数组的每个值并将其放入最终数组中。

或者,如果您还需要最终数组中的数字:

foreach ($array2 as $key => $value) {
    $finalArray[$key] = array($value, $array1[$key]);
}

或者,最简单的方法是只使用 array_merge 函数:

$finalArray = array_merge($array1, $array2);

手册在这里。

希望对您有所帮助。

试试这个片段:)

 $array_combined = array();
 foreach($array1 as $key=>$value)
 {
    $array_combined[$key] = array($array1[$key], $array2[$key]); 
 }