3v4l.org

run code in 300+ PHP versions simultaneously
<?php function doopScooper($dataArray, $uniqueKeys){ foreach($dataArray as $row){ $checkArray = []; foreach($uniqueKeys as $key) $checkArray[$key] = isset($row[$key]) ? $row[$key] : NULL; $checkArrayString = json_encode($checkArray); $matchcount = 0; foreach($dataArray as $id=>$array){ $currentArray = []; foreach($uniqueKeys as $key) $currentArray[$key] = isset($array[$key]) ? $array[$key] : NULL; $currentArrayString = json_encode($currentArray); if($currentArrayString == $checkArrayString) $matchcount++; if($matchcount > 1) unset($dataArray[$id]); } } return $dataArray; } $dataArray = array( array("id"=>0, "fname"=>"Robert", "lname"=>"Pamblam", "address"=>"1231 main st"), array("id"=>1, "fname"=>"Robert", "lname"=>"Pamblam", "address"=>"1232 main st"), array("id"=>2, "fname"=>"Roberto", "lname"=>"Pamblam", "address"=>"1233 main st"), array("id"=>3, "fname"=>"Roberta", "lname"=>"Pamblam", "address"=>"1234 main st"), array("id"=>4, "fname"=>"Roberta", "lname"=>"Pamblam", "address"=>"1235 main st"), array("id"=>5, "fname"=>"Robert", "lname"=>"Pamblamo", "address"=>"1236 main st"), array("id"=>6, "fname"=>"Robert", "lname"=>"Pamblamo", "address"=>"1237 main st") ); $uniqueKeys = array('fname', 'lname'); $newarray = doopScooper($dataArray, $uniqueKeys); var_dump($newarray); exit;

preferences:
35.53 ms | 402 KiB | 5 Q