2012-04-03 12 views
7

Tengo una matriz creada a partir de la URL de una página web.Eliminar elemento de la matriz si el valor del elemento contiene el carácter de cadena buscado

Si un elemento de esa matriz contiene? símbolo (El símbolo del signo de interrogación) luego quiero eliminar ese elemento de la matriz.

$array = 'news','artical','?mailchimp=1'; 

¿Cómo podría hacer esto? He visto muchos ejemplos en los que la cadena buscada es el valor completo, pero no donde solo es un solo carácter o solo parte del valor.

Gracias

Respuesta

10
foreach($array as $key => $one) { 
    if(strpos($one, '?') !== false) 
     unset($array[$key]); 
} 
+0

+1, pero propongo que haces como dice el manual y el uso de strpos lugar. –

+0

Tienes razón. He actualizado la respuesta –

+0

@SoaicaMircea Esto borra el valor del artículo, pero no lo quita de la matriz? – Nicekiwi

4

Uso de un cierre ...

$array = array_filter($array, function($value){ 
    if (strstr($value, '?') !== false) 
    { 
     return false; 
    } 
    return true; 
}); 
+0

Si usas> = PHP 5.3 eso es. –

Cuestiones relacionadas