【发布时间】:2018-11-20 02:44:37
【问题描述】:
如何确定给定对象是否存在于两个数组中?我的意图是找到添加的对象、删除的对象和更改的对象。
class Foo
{
private $id, $backup;
public $p1, $p2, $p3;
public function __construct($id, $p1, $p2, $p3){
$this->id=$id;
$this->p1=$p1;
$this->p2=$p2;
$this->p3=$p3;
$this->backup=[$p1, $p2, $p3];
}
}
$collection1=[
Foo(1,'a','aa','aaa'),
Foo(2,'b','bb','bbb'),
Foo(5,'c','cc','ccc'),
Foo(9,'d','dd','ddd'),
];
$collection2=$arr1;
$collection1[]=Foo(9,'d','dd','ddd');
unset($collection1[2]);
$collection1[0]->p2='bla'; //Will modify both $collection1 and $collection2
【问题讨论】:
-
$arr1 是什么?那是 $collection1 吗?
-
@Progrock 是的,数组。我实际上会使用一个包含数组的类,但它基本上是一样的。
标签: php arrays object collections