Menu
Coddy logo textTech

Claves con 'array_search'

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 18 de 68.

Mientras que in_array() te indica si un valor existe en un array, a veces necesitas saber exactamente dónde se encuentra ese valor. La función array_search() busca un valor específico en un array y devuelve su clave o índice correspondiente.

Así es como funciona:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Salida: 2
?>

La función toma dos parámetros: el valor que estás buscando y el array en el que buscar. Cuando se encuentra el valor, array_search() devuelve la clave (para arrays indexados, esta es la posición numérica que comienza desde 0).

Sin embargo, hay una distinción importante en lo que se devuelve. Si se encuentra el valor, obtienes la clave. Si no se encuentra el valor, la función devuelve false:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Devuelve: 2
$notFound = array_search(100, $scores); // Devuelve: false
?>

Esta función es particularmente útil cuando necesitas determinar la posición o el ranking de un elemento, como encontrar en qué lugar se encuentra un jugador en una tabla de clasificación o localizar el índice de un elemento específico para su posterior procesamiento.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Recibirás dos entradas: un array de nombres de productos en formato JSON y el nombre de un producto a buscar. Lee ambas entradas, convierte la cadena JSON en un array, utiliza array_search() para encontrar la posición del producto en el array y muestra el resultado. Si se encuentra el producto, imprime su posición de índice. Si el producto no se encuentra, imprime "Product not found".

Formato de entrada: Dos líneas - la primera línea contiene un array JSON (ejemplo: ["laptop","mouse","keyboard","monitor"]), la segunda línea contiene el nombre del producto a buscar

Resultado esperado: Ya sea la posición de índice numérica del producto (comenzando desde 0) o el texto "Product not found" si el producto no existe en el array

Hoja de referencia

La función array_search() busca un valor específico en un array y devuelve su clave o índice correspondiente:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Resultado: 2
?>

La función toma dos parámetros: el valor que se busca y el array en el que se busca. Devuelve la clave si se encuentra, o false si no se encuentra:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Devuelve: 2
$notFound = array_search(100, $scores); // Devuelve: false
?>

Pruébalo tú mismo

<?php
// Leer la entrada del arreglo JSON
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);

// Leer el nombre del producto a buscar
$searchProduct = trim(fgets(STDIN));

// TODO: Escribe tu código a continuación
// Usa array_search() para encontrar la posición del producto


// Imprimir el resultado
echo $result;
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo