2010-12-03 14 views
17

Duplicar posibles:
Remove item from array if it exists in a 'disallowed words' arrayEliminando elementos de un array si existen en otra matriz

Digamos que tengo los siguientes dos matrices de PHP que contienen números enteros:

$foo = array(1, 5, 9, 14, 23, 31, 45); 
$bar = array(14, 31, 36); 

Quiero eliminar los elementos en $foo donde existe el mismo valor en $bar

Así, el resultado del proceso sería crear una matriz $filteredFoo que contiene:

1, 5, 9, 23, 45 

Después de haber mirado a través de la documentación en php.net no parece ser una función existente para llevar a cabo este tipo de acción. Entonces, ¿es mi única opción utilizar foreach e iterar a través de $foo verificando los valores $bar en cada iteración?

Respuesta

31

Puede utilizar array_diff():

Devuelve una matriz que contiene todas las entradas de matriz1 que no están presentes en ninguna de las otras matrices.

$filteredFoo = array_diff($foo, $bar); 
+2

Muchas gracias, madera de los árboles y todo eso – MrEyes

Cuestiones relacionadas