Quindi questo è quello che mi dà fastidio.PHP - Come confrontare due array e rimuovere i valori duplicati
Ho due matrici:
$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]');
$array2 = array('value1' ,'demo' ,'value2' ,'some' ,'value3');
Ora voglio mettere a confronto queste due serie di, e rimuovere tutti i valori duplicati.
Alla fine voglio questi due array ma senza 'demo' e 'alcuni' valori in essi.
Voglio rimuovere tutti i valori dagli array che hanno la stessa chiave e il medesimo valore.
Gli array avranno sempre lo stesso numero di valori e indici, voglio solo confrontarli e rimuovere le voci che hanno la stessa chiave e il medesimo valore, da entrambi.
che sto facendo qualcosa di simile ora:
$clean1 = array();
$clean2 = array();
foreach($array1 as $key => $value)
{
if($value !== $array2[$key])
{
$clean1[$key] = $value;
$clean2[$key] = $array2[$key];
}
}
var_export($clean1);
echo "<br />";
var_export($clean2);
E questo funziona! Ma mi chiedo se ci sia un altro modo per farlo? Forse senza usare il ciclo foreach? C'è un modo più elegante per farlo?
Puoi definire cosa è "elegante" per te? Non vedo problemi qui ... – nmagerko
Questo richiederà sempre una ricerca lineare. A tale proposito, la tua soluzione è la più efficiente. – You