Así que esto es lo que me está molestando.PHP - Cómo comparar dos matrices y eliminar valores duplicados
Tengo dos matrices:
$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]');
$array2 = array('value1' ,'demo' ,'value2' ,'some' ,'value3');
Ahora quiero comparar estos dos gama de, y eliminar todos los valores duplicados.
Al final quiero estas dos matrices, pero sin los valores 'demo' y 'algunos' en ellas.
Quiero eliminar todos los valores de array-s que tienen la misma clave de índice y valor.
Las matrices siempre tendrán la misma cantidad de valores e índices, solo quiero compararlas y eliminar las entradas que tengan la misma clave de índice y valor, de ambas.
que estoy haciendo algo como esto ahora:
$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);
Y esto funciona! Pero me pregunto si hay alguna otra forma de hacerlo. ¿Tal vez sin usar el bucle foreach? ¿Hay una forma más elegante de hacer esto?
¿Puedes definir qué "elegante" es para ti? No veo problemas aquí ... – nmagerko
Esto siempre va a requerir una búsqueda lineal. En ese sentido, su solución es la más eficiente. – You