Codice PHP:
<?php
/*
utilizzo:
voglio sapere se ci sono diversi aghi in pagliaio
echo is_duplicate($ago,$pagliaio) restituisce true/false
voglio sapere se ci sono diversi aghi in pagliaio e ripulire l'array
$out= is_duplicate($ago,$pagliaio,true) restituisce un $out è l'array filtrato
*/
$array_test=array('a'=>1,'b'=>2,'c'=>3,'d'=>1);
echo (is_duplicate(1,$array_test))?'diverse occorrenze trovate':'valore singolo'; // restituisce diverse occorrenze trovate
$pruned=is_duplicate(1,$array_test,true);
echo "<pre>";print_r($pruned);echo "</pre>";
function is_duplicate($value,$inarray,$prune=false)
{
$finded="";
foreach($inarray as $k=>$v)
{
if ($v == $value)
{
if($finded == "") {$finded = $k;continue;}
if ($prune && $finded !="") {unset($inarray[$k]);continue;}
if($finded !="") {return true;}
}
}
if ($prune) return $inarray;
return false;
}
?>