php将2个数组合并为一个关联数组

php将2个数组合并为一个关联数组,php,arrays,merge,associative-array,array-merge,Php,Arrays,Merge,Associative Array,Array Merge,使用PHP,我需要将两个数组(长度相等的数组)合并到一个关联数组中。以下是我当前数据集的摘录: [1] => Array ( [0] => C28 [1] => C29 ) [2] => Array ( [0] => 1AB010050093 [1] => 1AB008140029 ) 元素[1]和[2]实际上都比2个子元素长很多(就像我说的,这是一个摘录) 交

使用PHP,我需要将两个数组(长度相等的数组)合并到一个关联数组中。以下是我当前数据集的摘录:

[1] => Array
    (
        [0] => C28
        [1] => C29
    )

[2] => Array
    (
        [0] => 1AB010050093
        [1] => 1AB008140029
    )
元素[1]和[2]实际上都比2个子元素长很多(就像我说的,这是一个摘录)

交易是第一个数组中的“C28”对应于第二个数组中的“1AB010050093”,以此类推。。。我需要的结果是创建一个新的关联数组,如下所示:

[1] => Array    
    (
        ['ref']  => C28
        ['part'] => 1AB010050093
    )
[2] => Array
    (
        ['ref'] => C29
        ['part'] => 1AB008140029
    )
array(
    'C28' => '1AB010050093',
    'C29' => '1AB008140029'
);

依此类推……

如果您愿意使用这样的数组结构:

[1] => Array    
    (
        ['ref']  => C28
        ['part'] => 1AB010050093
    )
[2] => Array
    (
        ['ref'] => C29
        ['part'] => 1AB008140029
    )
array(
    'C28' => '1AB010050093',
    'C29' => '1AB008140029'
);
然后可以使用()命令:

否则,您将需要使用foreach():


如果您愿意使用这样的阵列结构:

[1] => Array    
    (
        ['ref']  => C28
        ['part'] => 1AB010050093
    )
[2] => Array
    (
        ['ref'] => C29
        ['part'] => 1AB008140029
    )
array(
    'C28' => '1AB010050093',
    'C29' => '1AB008140029'
);
然后可以使用()命令:

否则,您将需要使用foreach():


如果您使用的是PHP5.5+,那么有一个名为
array\u column()
的新方法,它将获取特定列中的所有值。虽然我认为简单的foreach循环可能仍然是您的最佳选择,但这可能会被使用。

如果您使用的是PHP5.5+,有一个新方法称为
array\u column()
,它将获取特定列中的所有值。虽然我认为简单的foreach循环可能仍然是您的最佳选择,但它可能会被使用。

那么:

$arr1 = array(
    0 => 'C28',
    1 => 'C29',
);

$arr2 = array(
    0 => '1AB010050093',
    1 => '1AB008140029',
);
$result = array();
for ($i=0; $i<count($arr1); $i++) {
    $result[] = array('ref' => $arr1[$i], 'part' => $arr2[$i]);
}
print_r($result);
那么:

$arr1 = array(
    0 => 'C28',
    1 => 'C29',
);

$arr2 = array(
    0 => '1AB010050093',
    1 => '1AB008140029',
);
$result = array();
for ($i=0; $i<count($arr1); $i++) {
    $result[] = array('ref' => $arr1[$i], 'part' => $arr2[$i]);
}
print_r($result);

您需要将它们组合成一个多维数组,还是希望结果是两个单独的一维数组?您尝试过什么?这可以在大约4行代码中完成。您需要将它们组合成一个多维数组,还是希望结果是两个单独的一维数组?您尝试过什么?这大约需要4行代码。我想我可以使用第一个数组结构,只需使用combine,thanks@sadmicrowave虽然从长远来看这可能无关紧要,
array\u combine()
也会稍微快一点,因为它是内部的。我想我可能可以使用第一个数组结构,只使用combine, thanks@sadmicrowave虽然从长远来看这可能无关紧要,
array\u combine()
也会稍微快一点,因为它是一个内部函数。