这样做的最佳方法是什么。你有两个输入数组,比方说:
$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 :(得分:0)
array_diff($ array1,$ array2)返回$ array1中不在$ array2中的值。
因此,您可以使用以下方法获取已添加的值:
$add = array_diff($new, $current)
以及使用以下内容删除的值:
$del = array_diff($current, $new)