2014-07-02 56 views
0

这是做什么的最好方法。你有2个阵列输入,让我们说:在数组中选择不同的常见值 - php函数

$current = array('strawberry', 'apple', 'banana', 'peach'); 
$new = array('apple', 'blackberry', 'mango', 'banana'); 

现在写一个类/函数,返回两个数组,如:

$add = array('blackberry', 'mango'); 
$del = array('strawberry', 'peach'); 

什么是最好的方式/最有效的方式来写函数/类执行该任务?

我想是这样的:

function replaceTags($new, $current) { 
    $tmp = array_intersect($new, $current); 
    $add = array_diff($new, $tmp); 
    $del = array_diff($current, $tmp); 

    return array($add, $del); 
} 

林如果PHP内置函数最适合这个任务不知道? 任何建议将不胜感激;)

+0

你alloting任务的计算器的人呢? (即)没有尝试任何东西? –

回答

0

array_diff($ array1,$ array2)返回$ array1中不在$ array2中的值。

因此,你可以让已经使用添加值:

$add = array_diff($new, $current) 

和使用删除的值:

$del = array_diff($current, $new)