起初我想说我是PHP的新手.
我有一个实现,检查对象是否在数组中,如果没有添加另一个数组.但它总是返回false并在order数组中添加.
我该如何解决?
这里是部分代码:
$temp = new tempClass($x, $y);
if (!in_array($temp, $temp_array)) {
$temp2_array[] = $temp;
}
Run Code Online (Sandbox Code Playgroud)
And*_*ore 10
由于您要在数组中添加实例,请确保该数组in_array()使用严格模式比较:
$temp = new tempClass($x, $y);
if (!in_array($temp, $temp_array, true)) {
$temp2_array[] = $temp;
}
Run Code Online (Sandbox Code Playgroud)
此外,您需要了解类的2个不同实例,即使它们包含相同的数据,仍然是2个不同的实例.如果要知道2个实例是否相同,您需要创建自己的循环并手动比较实例.
您可以省略严格模式,它将比较类的成员,但只要您有不同的成员,它就不相等.
$temp = new tempClass($x, $y);
if (!in_array($temp, $temp_array)) {
$temp2_array[] = $temp;
}
Run Code Online (Sandbox Code Playgroud)