# array_search

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_search — Busca un valor determinado en un array y devuelve la primera clave correspondiente en caso de éxito

### Descripción

array_search(mixed `$needle`, array `$haystack`, bool `$strict` = `false`): mixed

Busca la `needle` (aguja) en `haystack` (pajar).

### Parámetros

`needle`

  El valor a buscar.

  > Nota:

  > Si `needle` es una cadena, la comparación es realizada de forma sensible a mayúsculas y minúsculas.

`haystack`

  El array

`strict`

  Si el tercer parámetro, `strict`, se define como `true` entonces la función array_search() también buscará elementos idénticos en el `haystack`. Esto significa que también realizará una comparación estricta de tipos de la `needle` en el `haystack`, ya que los objetos deben ser la misma instancia.

### Valores devueltos

Devuelve la clave de la `needle` si se encuentra en el array, o `false` si no.

Si la `needle` es encontrada en el `haystack` más de una vez, se devuelve la primera clave coincidente. Para devolver las claves de todos los valores coincidentes, se ha de usar en su lugar array_keys() con el parámetro opcional `search_value`.

Advertencia

Esta función puede devolver el valor booleano `false`, pero también puede devolver un valor no booleano que se evalúa como `false`. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

### Historial de cambios

Versión | Descripción
--- | ---
5.3.0 | Al igual que con todas las funciones internas de PHP a partir de la versión 5.3.0, array_search() devuelve `null` si se le pasan parámetros inválidos.

### Ejemplos

Ejemplo #1 Ejemplo de array_search()

`<?php
$array = array(0 => 'azul', 1 => 'rojo', 2 => 'verde', 3 => 'rojo');
$clave = array_search('verde', $array); // $clave = 2;
$clave = array_search('rojo', $array); // $clave = 1;
?>`

### Ver también

- array_keys() - Devuelve todas las claves de un array o un subconjunto de claves de un array
- array_values() - Devuelve todos los valores de un array
- array_key_exists() - Verifica si el índice o clave dada existe en el array
- in_array() - Comprueba si un valor existe en un array