downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

preg_last_error> <preg_filter
Last updated: Fri, 20 May 2011

view this page in

preg_grep

(PHP 4, PHP 5)

preg_grepDevuelve entradas de matriz que coinciden con el patrón

Descripción

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

Devuelve la matriz consistente en los elementos de la matriz input que coinciden con pattern.

Parámetros

pattern

El patrón de búsqueda, como cadena.

input

La matriz de entrada.

flags

Si se establece a PREG_GREP_INVERT, esta función devuelve los elementos de la matriz de entrada que no coinciden con pattern.

Valores devueltos

Devuelve una matriz indexada usando las claves de la matriz input.

Historial de cambios

Versión Descripción
4.2.0 Se añadió el parámetro flags.
4.0.4

Antes de esta versión, la matriz devuelta era indexada sin tener en cuenta las claves de la matriz input.

Si quiere reproducir este comportamiento anterior, use array_values() sobre la matriz devuelta para re-indexar los valores.

Ejemplos

Example #1 Ejemplo de preg_grep()

<?php
// devuelve todos los elementos de la matriz
// que contienen números de coma (punto) flotante
$matriz_fl preg_grep("/^(\d+)?\.\d+$/"$matriz);
?>

Ver también



preg_last_error> <preg_filter
Last updated: Fri, 20 May 2011
 
add a note add a note User Contributed Notes preg_grep
keithbluhm at gmail dot com 21-Jan-2010 11:56
Run a match on the array's keys rather than the values:

<?php

function preg_grep_keys( $pattern, $input, $flags = 0 )
{
   
$keys = preg_grep( $pattern, array_keys( $input ), $flags );
   
$vals = array();
    foreach (
$keys as $key )
    {
       
$vals[$key] = $input[$key];
    }
    return
$vals;
}

?>
pete dakin at aargh dot doh! 20-Nov-2008 03:24
<?php
/**
 * Return the element key for a found pattern in an array
 *
 * @param String pattern
 * @param Array input
 * @return mixed
 */
function preg_array_key( $sPattern, $aInput ){
    return
key( preg_grep( $sPattern, $aInput ) );
}
?>
brian at cristina dot org 02-Sep-2008 08:31
I don't see it mentioned here but you can invert your match to only return array entries where the search values IS NOT found.  The format for it is...

<?php

$nomatch
= preg_grep("/{$keyword}/i",$array,PREG_GREP_INVERT);

?>

Notice the PREG_GREP_INVERT.

That will result in an array ($nomatch) that contains all entries of $array where $keyword IS NOT found.

Hope that helps!

-b

 
show source | credits | stats | sitemap | contact | advertising | mirror sites