<?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 ) );
}
?>
preg_grep
(PHP 4, PHP 5)
preg_grep — Devolver una matriz con las entradas que coinciden con el patrón
Descripción
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);
?>
preg_grep
20-Nov-2008 03:24
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
