3v4l.org

run code in 300+ PHP versions simultaneously
<?php function doopScooper($dataArray, $uniqueKeys){ foreach($dataArray as $row){ $checkArray = array(); 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;
Output for git.master, git.master_jit, rfc.property-hooks
array(1) { [0]=> array(4) { ["id"]=> int(0) ["fname"]=> string(6) "Robert" ["lname"]=> string(7) "Pamblam" ["address"]=> string(12) "1231 main st" } }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
52.24 ms | 401 KiB | 8 Q