私の目標は、オブジェクトの配列で重複を見つけることですが、特定のオブジェクト変数に対してのみです。
次のような 2 つの foreach ループを使用する代わりに、重複を見つけるためのより良い (より洗練された) 方法を探しています。
foreach ($data as $date) {
foreach ($data as $innerDate) {
if ($date->birthday == $innerDate->birthday &&
$date->street == $innerDate->street &&
$date->streetnr == $innerDate->streetnr &&
$date->zipcode == $innerDate->zipcode &&
$date->twinid == $innerDate->twinid &&
$date !== $innerDate) {
// Duple
}
}
}
ありがとう!
現在、Tarilo のアイデアに基づいて、次のコードを使用しています。
usort($data, function($obj_a, $obj_b){
if ($obj_a->birthday == $obj_b->birthday &&
$obj_a->street == $obj_b->street &&
$obj_a->streetnr == $obj_b->streetnr &&
$obj_a->zipcode == $obj_b->zipcode &&
$obj_a->twinid == $obj_b->twinid) {
// Duple
}
});
2 つの foreach ループよりもはるかに優れているように見えます ;-)