Saltar al contenido

buscar un php array para parcial string juego

Nuestros mejores desarrolladores agotaron sus provisiones de café, en su búsqueda todo el tiempo por la respuesta, hasta que Carmen halló la contestación en GitHub y en este momento la compartimos con nosotros.

Solución:

Para coincidencia parcial puedes iterar el array y usa un string función de búsqueda como strpos().

function array_search_partial($arr, $keyword) 
    foreach($arr as $index => $string) 
        if (strpos($string, $keyword) !== FALSE)
            return $index;
    

Por un coincidencia exactausa in_array()

in_array('green', $arr)

Puede usar la función preg_grep de php. Es compatible con PHP >= 4.0.5.

$array = array(0 => 'blue', 1 => 'red', 2 => 'green string', 3 => 'red');
$m_array = preg_grep('/^greens.*/', $array);

$m_array contiene elementos coincidentes de array.

Hay varias formas…

$arr = array(0 => 'blue', 1 => 'red', 2 => 'green string', 3 => 'red');

Buscar el array con un bucle:

$results = array();

foreach ($arr as $value) 

  if (strpos($value, 'green') !== false)  $results[] = $value; 



if( empty($results) )  echo 'No matches found.'; 
else  echo "'green' was found in: " . implode('; ', $results); 

Utilice array_filter():

$results = array_filter($arr, function($value) 
    return strpos($value, 'green') !== false;
);

Para usar Closures con otros argumentos existe el use-palabra clave. Entonces puedes abstraerlo y envolverlo en una función:

function find_string_in_array ($arr, $string) 

    return array_filter($arr, function($value) use ($string) 
        return strpos($value, $string) !== false;
    );



$results = find_string_in_array ($arr, 'green');

if( empty($results) )  echo 'No matches found.'; 
else  echo "'green' was found in: " . implode('; ', $results); 

Aquí hay un ejemplo de trabajo: http://codepad.viper-7.com/xZtnN7

Al final de la web puedes encontrar las ilustraciones de otros programadores, tú asimismo eres capaz mostrar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *