在php中合并两个关联数组


Merging two assosiative arrays in php?

我有两个关联数组。

array ( [apple]=>1 [banana]=>2 cocunet => 3)

另一个阵列是

array ( [apple]=>2 [banana]=>3 cocunet => 4)

现在我想像那样合并我的数组

array ( [apple]=>1,2 [banana]=>2,3 cocunet => 3,4)

PHP中没有这样的数组。你想要的东西只能通过创建多维数组来完成。

$a1 = array( 'apple'=>1,'banana'=>2,'coconut'=> 3);
$a2 = array( 'apple'=>2,'banana'=>3,'coconut'=> 4);
echo "<pre>";
print_r(array_merge_recursive($a1,$a2));
echo "</pre>";

为此,您可以使用array_marge_recurive((函数。

PHP投标:http://3v4l.org/5OCKI

如果您希望结果是字符串,那么这应该有效:

 foreach( $array_1 as $fruit => $num) {
        if(array_key_exists($fruit, $array_2)){ //check if key from array_1 exists in array_2
             $final_array[] = array($fruit => $array_1[$fruit].','.$array_2[$fruit]); //concatenate values from shared key
        }
    }

print_r($final_array)将返回:

Array
(
    [0] => Array
        (
            [apple] => 1,2
        )
    [1] => Array
        (
            [banana] => 2,3
        )
    [2] => Array
        (
            [coconut] => 3,4
        )
)
<?php
    $array1 = array("apple" => 5, "banana" => 1);
    $array2 = array("banana" => 4, "coconut" => 6);
    print_r( array_merge_recursive( $array1, $array2 ) );
?>

退货:

Array ( [apple] => 5 [banana] => Array ( [0] => 1 [1] => 4 ) [coconut] => 6 )

在存在任何组(即非数组值(之前,我只在每个主数组中使用了两个元素来演示输出。