0

目前要更新多对多关系,我正在迭代旧列表和当前列表以查找更改了哪些项目。例如:

$new = array('apple', 'orange');
$old = array('banana');

$added = array();

foreach($new as $v)
{
    if(!in_array($v, $old))
    {
        $added[] = $v;
    }        
}


$removed = array();

foreach($old as $v)
{
    if(!in_array($v, $new))
    {
        $removed[] = $v;
    }
}

// update them

有什么更优雅(和更短)的方式来实现同样的事情?

4

1 回答 1

3

使用array_diff

$added = array_diff($new, $old);
$removed = array_diff($old, $new);
于 2013-10-04T13:44:56.457 回答