Bueno acabo de hacer hasta una funcion que la llame
vecUnique($a) que te devolvera un array con 3 posiciones:
- La Primera es ['array'] que seria el array sin valores repetidos.
- La Segunda es ['repetidos'] que seria el array, donde las clave es el valor que se repite y este contendrá las veces que se repitió.
- El Tercero es ['original'] que seria el array original sin ninguna modificación.
para usar seria:
Código PHP:
function vecUnique($a){$vecUnique['array']=Array();$vecUnique['original']=$a;foreach($a as $b=>$c){if(!in_array($c,$vecUnique['array'])){$vecUnique['array'][$b]=$c;$vecUnique['repetidos'][$c]=1;}else{$vecUnique['repetidos'][$c]++;}}return $vecUnique;}
$uno=50;
$dos=50;
$tres=50;
//Array de 10 posiciones, donde las posiciones 1, 2 y 3 valen 50, y el resto son NULL
$vectorlatino = array(1=>$uno, 2=>$dos, 3=>$tres, 4=>$cuatro, 5=>$cinco, 6=>$seis, 7=>$siete, 8=>$ocho, 9=>$nueve, 10=>$diez);
var_dump(vecUnique($vectorlatino));
//La funcion retornara esto:
/*
array(3) {
["array"]=>
array(2) {
[1]=>
int(50)
[4]=>
NULL
}
["original"]=>
array(10) {
[1]=>
int(50)
[2]=>
int(50)
[3]=>
int(50)
[4]=>
NULL
[5]=>
NULL
[6]=>
NULL
[7]=>
NULL
[8]=>
NULL
[9]=>
NULL
[10]=>
NULL
}
["repetidos"]=>
array(2) {
[50]=>
int(3)
[""]=>
int(7)
}
}
*/
Saludos.