Blog
Arrays (o matrices) con llaves
- Publicado por: leo
- Categoría: Curso principiante PHP
En esta sección del curso vamos a profundizar mas en este contenido tan importante para un programador, como lo son las matrices o arrays. Como ya sabrás las matrices son una forma de variables diferentes o singulares, que se diferencian de las demás debido a que pueden albergar varios datos, información, o distintas variables dentro de ellas mismas. Así que sigamos con esta lección del curso básico para aprender PHP online.
¿Cómo usar las matrices con claves?
Las matrices en PHP son en realidad una especie de mapas ordenados, lo que significa que todos los valores de las matrices tienen claves, y los elementos dentro de la matriz conservan un mismo orden. Cuando utilizamos matrices como simples listas como hemos visto en el último capítulo, se usa un contador basado en cero para establecer las claves. Cada elemento que se agrega a la matriz incrementa el siguiente índice en 1.
Un buen ejemplo para usar matrices con claves es una guía telefónica. Digamos que queremos guardar los números de teléfono de las personas en una clase.
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; print_r($numeros_de_telefono); echo "El número de teléfono de Alex es: " . $numeros_de_telefono["Alex"] . "\n"; echo "El número de teléfono de Jessica es: " . $numeros_de_telefono["Jessica"] . "\n";
Si queremos agregar un elemento a una matriz con una clave, usamos el operador de corchetes, como era de esperarse. Aquí te muestro un ejemplo:
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; $numeros_de_telefono["Michael"] = "415-955-3857"; print_r($numeros_de_telefono);
Si nosotros queremos verificar si existe una clave dentro de una matriz, podemos usar la función array_key_exists:
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; if (array_key_exists("Alex", $numeros_de_telefono)) { echo "El número de teléfono de Alex es: " . $numeros_de_telefono["Alex"] . "\n"; } else { echo "El número de teléfono de Alex no se encuentra guardado en esa guía teléfonica."; } if (array_key_exists("Michael", $numeros_de_telefono)) { echo "El número de teléfono de Michael es: " . numeros_de_telefono["Michael"] . "\n"; } else { echo "El número de teléfono de Michael no se encuentra guardado en esa guía teléfonica."; }
En cambio si queremos extraer solo las claves de la matriz (en este caso los nombres), podemos usar la función array_keys.
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; print_r(array_keys($numeros_de_telefono));
Como una alternativa, si queremos obtener solo los valores de una matriz (los números de teléfono, en este caso), podemos usar la función array_values. Como en el siguiente ejemplo:
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; print_r(array_values($numeros_de_telefono));
Ejercicio
Agregue un número a la guía telefónica para una persona llamada Eric, identificado con el número de teléfono 415-874-7659, ya sea agregándolo a la definición de la matriz o como una línea de código separada. Eso depende de ti.
<?php $numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; print_r($numeros_de_telefono); ?>
Solución al ejercicio propuesto:
<?php $numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; $numeros_de_telefono["Eric"] = "415-874-7659"; print_r($numeros_de_telefono); ?>
Salida en pantalla:
Array ( [Alex] => 415-235-8573 [Jessica] => 415-492-4856 [Eric] => 415-874-7659 )
¿Quieres aprender más sobre PHP? Continúa aprendiendo entrando a nuestro curso online, es totalmente gratuito y ofrecemos certificado: