我需要的是非常簡單的:如何通過在PHP中的值來合併兩個數組?
我有兩個數組這樣的:
<?php
$a1 = [1,2,3];
$a2 = [2,3,4];
,我需要這樣的結果是把它們結合在一起:
$result = [1,2,3,4];
我試過array_merge
但結果是[1,2,3,2,3,4]
我需要的是非常簡單的:如何通過在PHP中的值來合併兩個數組?
我有兩個數組這樣的:
<?php
$a1 = [1,2,3];
$a2 = [2,3,4];
,我需要這樣的結果是把它們結合在一起:
$result = [1,2,3,4];
我試過array_merge
但結果是[1,2,3,2,3,4]
你可以找到一個答案在這裏:Set Theory Union of arrays in PHP
通過擴大在當前的方法。您可以在結果數組上調用array_unique
和sort
。
$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
}
function merges(/*...*/){
$args=func_get_args();
$ret=array();
foreach($args as $arg){
foreach($arg as $key=>$v)
{
$ret[$key]=$v;
}
}
return $ret;
}
未經測試,但我想這將工作..將刪除所有重複鍵和返回的最後一個鍵/值對才發現重複的
這可能是你在找什麼
$result = $a1 + $a2 //union operation
例
$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"
}
[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) –
嘗試'print_r(array_unique(array_merge($ a1,$ a2)));'。一旦合併,您需要刪除重複項。 – chris85