2015-11-26 104 views
0

我需要的是非常簡單的:如何通過在PHP中的值來合併兩個數組?

我有兩個數組這樣的:

<?php 
$a1 = [1,2,3]; 
$a2 = [2,3,4]; 

,我需要這樣的結果是把它們結合在一起:

$result = [1,2,3,4]; 

我試過array_merge但結果是[1,2,3,2,3,4]

+7

[array_merge()](http://www.php.net/manual/en/function.array-merge.php),[array_unique( )](http://www.php.net/manual/en/function.array-unique.php)和可選的[sort()](http://www.php.net/manual/en/function.sort .php) –

+1

嘗試'print_r(array_unique(array_merge($ a1,$ a2)));'。一旦合併,您需要刪除重複項。 – chris85

回答

1

你可以找到一個答案在這裏:Set Theory Union of arrays in PHP

通過擴大在當前的方法。您可以在結果數組上調用array_uniquesort

$a = [1,2,3]; 
$b = [2,3,4]; 
$result = array_merge($a, $b); 
$result = array_unique($result); 
sort($result); 

這將導致:

array(4) { 
    [0] = int(1) 1 
    [1] = int(1) 2 
    [2] = int(1) 3 
    [3] = int(1) 4 
} 
0
function merges(/*...*/){ 
    $args=func_get_args(); 
    $ret=array(); 
    foreach($args as $arg){ 
     foreach($arg as $key=>$v) 
     { 
      $ret[$key]=$v; 
     } 
    } 
    return $ret; 
} 

未經測試,但我想這將工作..將刪除所有重複鍵和返回的最後一個鍵/值對才發現重複的

0

這可能是你在找什麼

$result = $a1 + $a2 //union operation 

參考 Array Operations

$a = array("a" => "apple", "b" => "banana"); 
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); 

$c = $a + $b; // Union of $a and $b 
echo "Union of \$a and \$b: \n"; 
var_dump($c); 

輸出繼電器

Union of $a and $b: 
array(3) { 
    ["a"]=> 
    string(5) "apple" 
    ["b"]=> 
    string(6) "banana" 
    ["c"]=> 
    string(6) "cherry" 
} 
相關問題