Función PHP Array_Search

Función PHP Array_Search
PHP tiene muchas funciones incorporadas para las variables de matriz para buscar la clave y el valor de la matriz de diferentes maneras. La función array_search () se usa para buscar el valor particular en la matriz y devolver la clave de ese valor si el valor de búsqueda existe en la matriz. Si el valor de búsqueda existe más de una vez en la matriz, entonces la clave del primer valor coincidente devolverá. La sintaxis de esta función se da a continuación.

Sintaxis:

La función de sintaxis de Array_Search () se da a continuación.

int | string | false array_search (mixto $ seech_value, array $ array [, bool $ strict = false])

El primer argumento es obligatorio y toma el valor que se buscará en la matriz.

El segundo argumento es obligatorio, y toma la matriz donde se buscará el valor.

El tercer argumento es opcional, y el valor predeterminado de este argumento es falso. Si el valor de este argumento se establece en verdadero, entonces el valor de búsqueda se igualará estrictamente. Eso significa que tanto el tipo como el valor del valor de búsqueda requerirán coincidir con el valor de la matriz para obtener el valor clave correspondiente.

La función puede devolver Tres tipos de valores. Devolverá un entero o una cadena en función del valor clave de la matriz, de lo contrario devuelve falso si el valor de búsqueda no existe en la matriz.

Array_search () Ejemplos de funciones

Los usos de la función array_search () se han mostrado en la siguiente parte de este tutorial utilizando múltiples ejemplos.

Ejemplo-1: uso de array_search () sin argumento opcional

Cree un archivo PHP con el siguiente script para buscar el número particular en una matriz utilizando la función Array_Search (). La función devolverá la posición de índice de ese número si existe en la matriz; de lo contrario, volverá FALSO. Se ha utilizado una matriz de 6 valores numéricos en el script. El número de búsqueda se tomará del parámetro URL.

// declarar una matriz numérica
$ numarr = [80, 67, 34, 50, 12, 39];
// verificar el valor de búsqueda se da en la URL o no
if (isset ($ _ get ['s']))

// Obtener el valor de búsqueda
$ search = $ _get ['s'];
// verificar el valor de búsqueda existe en la matriz o no
$ output = array_search ($ search, $ numarr);
// Verifique el valor devuelto del array_search ()
if ($ salida != Falso)
Echo "$ Search se ha encontrado en la posición $ salida.";
demás
echo "$ Search no existe en la matriz.";

demás
echo "No se da ningún valor de búsqueda.";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior sin ningún parámetro de URL.

http: // localhost/php/array_search1.php

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro URL 67 que existe en la matriz en el 2Dakota del Norte posición. El índice de la matriz comienza desde 0. Entonces, la salida es 1.

http: // localhost/php/array_search1.php?S = 67

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro de URL, 99, que no existe en la matriz.

http: // localhost/php/array_search1.php?S = 99

Ejemplo-2: uso de array_search () con argumento opcional

Cree un archivo PHP con el siguiente script que buscará el número particular en una matriz utilizando la función Array_Search () con el valor de argumento opcional, verdadero. Se ha utilizado una matriz asociativa de 4 valores en el script. El número de búsqueda se tomará del parámetro URL.

// declarar una matriz asociativa
$ numarr = ["CSE-302" => 2.0, "CSE-407" => 1.0, "CSE-112" => 3.0, "CSE-202" => 2.0];
// verificar el valor de búsqueda se da en la URL o no
if (isset ($ _ get ['s']))

// Obtener el valor de búsqueda y convertirlo en el valor de flotación
$ search = (float) $ _get ['s'];
// verificar estrictamente el valor de búsqueda existe en la matriz o no
$ output = array_search ($ search, $ numarr, true);
// Verifique el valor devuelto del array_search ()
if ($ salida != Falso)
Echo "$ Search se ha encontrado en la clave, $ salida.";
demás
echo "$ Search no existe en la matriz.";

demás
echo "No se da ningún valor de búsqueda.";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro URL, 3 que coincide con el valor de la matriz, 3.0.

http: // localhost/php/array_search1.php?S = 3

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro URL 5.0 que no existe en la matriz.

http: // localhost/php/array_search1.php?S = 5.0

Ejemplo-3: Buscar en una matriz bidimensional usando Array_Search ()

Cree un archivo PHP con el siguiente script para buscar el valor particular en una matriz bidimensional utilizando la función Array_Search (). Se ha utilizado una matriz bidimensional asociativa de 3 filas y 3 columnas en el script. El valor de búsqueda se tomará del parámetro URL.

// declarar una matriz bidimensional
$ productos = [
['id' => '8976', 'nombre' => 'hdd', 'precio' => '$ 500'],
['id' => '4590', 'nombre' => 'monitor', 'precio' => '$ 600'],
['id' => '1237', 'nombre' => 'teclado', 'precio' => '$ 30']
];
// verificar el valor de búsqueda se da en la URL o no
if (isset ($ _ get ['s']))

// Obtener el valor de búsqueda
$ search = $ _get ['s'];
$ key = array_search ($ search, array_column ($ productos, 'nombre'));
// Verifique el valor devuelto del array_search ()
if ($ key != Falso)
Echo "El precio de $ Search es".$ productos [$ clave] ['precio'].".";
demás
echo "$ Search no existe en la matriz.";

demás
echo "No se da ningún valor de búsqueda.";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro de URL, 'Ratón', que no coincide con ningún valor del nombre clave de la matriz.

http: // localhost/php/array_search1.php?s = mouse

La siguiente salida aparecerá después de ejecutar el script anterior con el valor del parámetro de URL, 'Monitor' que coincide con un valor del nombre clave de la matriz.

http: // localhost/php/array_search1.php?s = monitor

Ejemplo-4: usando array_search () dentro de una función

Cree un archivo PHP con el siguiente script para buscar el valor particular en una matriz utilizando la función array_search () dentro de una función definida por el usuario. Se ha utilizado una matriz de 5 valores de cadena en el script. A continuación, el script utiliza el operador ternario para imprimir la salida en función del valor devuelto de la función.

// declarar una matriz
$ idiomas = ['php', 'perl', 'python', 'java', 'bash'];
// Declarar la función al elemento de búsqueda en la matriz
Función Search_in_array ($ val, $ arr)

return array_search ($ val, $ arr, true);

// Defina el valor de búsqueda
$ SearchVal = 'perl';
// llama a la función
$ output = search_in_array ($ searchVal, $ lenguajes);
// Establecer un mensaje basado en la condición
$ mensaje = ($ output> = 0) ? "$ SearchVal existe en la matriz.":" $ SearchVal no existe en la matriz.";
// imprime el mensaje
echo $ mensaje;
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión

Se han mostrado diferentes formas de usar la función array_search () para diferentes fines en los ejemplos de este tutorial para ayudar a los usuarios de PHP a conocer el uso de esta función correctamente.