PHP
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, 19 Jun 2009

view this page in

preg_grep

(PHP 4, PHP 5)

preg_grepDevolver una matriz con las entradas que coinciden con el patrón

Descripción

array preg_grep ( string $patron , array $entrada [, int $banderas ] )

Devuelve una matriz que consiste de elementos de la matriz de entrada que coinciden con el patron dado.

Lista de parámetros

patron

El patrón a buscar, como cadena.

entrada

La matriz de entrada.

banderas

Si se define como PREG_GREP_INVERT, esta función devuelve los elementos de la matriz de entrada que no coinciden con el patron dado.

Valores retornados

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

Registro de cambios

Versión Descripción
4.2.0 El parámetro banderas fue agregado.
4.0.4

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

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

Ejemplos

Example #1 Ejemplo de preg_grep()

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



add a note add a note User Contributed Notes
preg_grep
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

preg_last_error> <preg_filter
Last updated: Fri, 19 Jun 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites