0

我有两张这样的桌子:

$array1 = (2, 7, 9, 15);
$array2 = (3, 7, 10, 15);

我想混合两张桌子。结果必须是这样的:

$result = (2, 7, 9, 15, 3, 10);

没有任何重复值。谢谢你的帮助。

4

5 回答 5

2

你为什么不试试这个:

$result = array_unique(array_merge($arra1, $array2));

另见文档:

http://php.net/manual/en/function.array-merge.php

http://php.net/manual/en/function.array-unique.php

于 2012-07-26T09:25:23.170 回答
1
//First merge the two arrays
$c = array_merge($array1,$array2);

//Then use the following function to return unique values only
$unique = array_unique($c);
于 2012-07-26T09:24:48.230 回答
0

您可以遍历第二个数组并检查第一个数组中是否存在每个值:

foreach($array2 as $v) {
    if(!in_array($v, $array1)) {
        $array1[] = $v;
    }
}
于 2012-07-26T09:25:53.190 回答
0

执行以下操作:

$array1 = array(2, 7, 9, 15);
$array2 = array(3, 7, 10, 15);

$array3 = array_merge($array1, $array2);
$array3 = array_unique($array3);
于 2012-07-26T09:27:23.437 回答
0

您可以像这样以编程方式执行此操作:

 <pre>
 <?php 
$array1 = array(2,7,9,15);
$array2 = array(3,7,10,15);
function array_merge_func($array1,$array2)
{
    foreach($array1 as $v)
    {
        if(!in_array($v,$array2))
        {
            array_push($array2,$v);
        }
    }
    return $array2;
}

$array3 = array_merge_func($array1,$array2);
print_r($array3);
?>
</pre>

检查 array1 中的值是否存在于 array2 中。如果不存在,则将值推送到 array2 中。

于 2012-07-26T10:24:53.830 回答