-1
我有一個數組包含類X
的多個對象,其中一些具有完全相同的值。從列表中刪除元素與參考
我也有一個參考(讓我們把它命名爲R
)到這個數組中的一個對象(類X
)。
是否可以從數組中刪除R
引用的對象,而不刪除除引用之外的其他相同對象?
我有一個數組包含類X
的多個對象,其中一些具有完全相同的值。從列表中刪除元素與參考
我也有一個參考(讓我們把它命名爲R
)到這個數組中的一個對象(類X
)。
是否可以從數組中刪除R
引用的對象,而不刪除除引用之外的其他相同對象?
對於對象$a
和類X的$b
:
如果$a = &$b
,$a === $b
返回true。
if $a = clone $b
,$a === $b
返回false。
所以來這裏的O(N^2)算法:
$obj_array = array(/* ... */);
$keys = array_keys($obj_array);
for($i = 0; $i < sizeof($keys); ++$i) {
$duplicate = false;
for($j = 0; $j < $i; ++$j) {
if(!empty($obj_array[$keys[$j]]) && $obj_array[$keys[$i]] === $obj_array[$keys[$j]])) {
$duplicate = true;
}
}
if($duplicate) {
unset($obj_array[$keys[i]]);
}
}
你有代碼共享,使您的問題/問題更清楚? – Sugar 2014-09-13 17:53:35