目前为了更新多对多关系,我正在迭代旧列表和当前列表以查找哪些项目已更改。例如:
$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
实现同样的事情会有更优雅(和更短)的方式吗?
答案 0 :(得分:3)
$added = array_diff($new, $old);
$removed = array_diff($old, $new);