Los arreglos asociativos son una herramienta esencial en PHP para mantener ordenada, accesible y claramente relacionada la información dentro de tus proyectos web. Al almacenar datos relacionados con claves específicas, facilitas su acceso, lectura y modificación de forma eficiente; esto optimiza tu código y evita errores potenciales.
¿Qué son los arreglos asociativos en PHP?
En PHP, un arreglo asociativo es una estructura que permite almacenar y acceder a información mediante claves o keys, que tú mismo defines. De esta forma, la información no se guarda en posiciones numéricas, sino bajo un nombre específico que describe claramente qué dato está guardando.
¿Por qué son útiles los arreglos asociativos?
Facilitan la organización clara y lógica de datos.
Permiten acceder a los datos por una clave descriptiva en lugar de por su posición.
Reducen errores al evitar que se manejen múltiples variables separadas.
¿Cómo implementar arreglos asociativos en tu código PHP?
Para comenzar a utilizar arreglos asociativos, define tus datos organizados mediante claves que correspondan a cada elemento específico:
$curso=['titulo'=>'Curso profesional del PHP','subtitulo'=>'Aprende PHP desde cero','descripcion'=>'Aquí va la descripción del curso','etiquetas'=>['PHP','web','programación']];
De esta forma, dentro de $curso, cada dato está claramente identificado y representado.
¿Cómo accedes e imprimes datos específicos del arreglo?
Para imprimir datos específicos, accede directamente a la clave del arreglo asociativo:
Esto genera una presentación clara y organizada, fácil de entender visualmente.
¿Cuál es el desafío para practicar estos conceptos?
Como reto práctico, continúa practicando la creación y manipulación de arreglo asociativos creando una nueva clave llamada lecciones. Debes mostrar estas lecciones en pantalla siguiendo la misma lógica aplicada anteriormente. Recuerda compartir tu solución para poder comentarla y revisarla juntos.
¿Te animas a compartir tu código? ¡Espero ver tu solución en los comentarios!
<?php
$course = [
'title' => 'Curso profesional de PHP y Laravel',
'subtitle' => 'Aprende PHP y Laravel desde cero',
'description' => 'lorem ipsum dolor',
'tags' => [
'PHP',
'Laravel',
'JavaScript',
'HTML',
'CSS',
'MySQL',
],
'lecciones' => [
'Funda,entos de PHP',
'Introduccion a Laravel',
'Bases de datos con MySQL',
'Diseño empresarial con CSS'
],
];
?><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title><?= $course['title']?></title></head><body><h1>Bienvenido al <?= $course['title']?></h1><h2><?= $course['subtitle'] ?></h2><p><?= $course['description'] ?></p><p><strong> Etiquetas </strong><ul><?php foreach ($course['tags'] as $tag):?><li><?=$tag ?></li><?php endforeach;?></ul></p><p><strong> Lecciones </strong><ul><?php foreach ($course['lecciones'] as $leccion):?><li><?=$leccion ?></li><?php endforeach;?></ul></p></body></html>
Excelente
<strong>Lecciones:</strong><ul><?php foreach ($course['lecciones'] as $leccion): ?><li><?= $leccion ?></li><?php endforeach; ?></ul>
practica.
Ejercicio:
<?php
$course = [
'title' => 'Curso Profesional de PHP y Laravel',
'subtitle' => 'Aprende PHP y LARAVEL desde cero',
'description' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores quibusdam unde modi incidunt. Voluptatem tenetur aliquam, expedita vitae libero vel ullam sequi aspernatur, ad cum unde et voluptates consequuntur dolorem!',
<?php
//Definiendo variables$curso =["titulo"=>"Curso de fundamentos de PHP","subtitulo"=>"Introducción a PHP","descripcion"=>"Este curso es introductorio sobre el lenguaje de programación PHP, donde se veran los fundamentos de este","precio"=>199.99,"fecha_publicacion"=>"05-03-2025","estado"=>"Activo","nivel"=>"Básico","tags"=>["HTML","CSS","JAVASCRIPT","PHP","LARAVEL"],"clases"=>["Introducción a PHP","Sintaxis básica","Estructuras de control","Funciones","Programación Orientada a Objetos"]];?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title><?= $curso['titulo']?></title></head><body><h1>Bienvenido al <?= $curso['titulo']?></h1><h2><?= $curso['subtitulo']?></h2><h3>Cuesta: $<?= $curso['precio']?></h3><h3>Fue publicado:<?= $curso['fecha_publicacion']?></h3><h3>Descripción del curso</h3><p><?= $curso['descripcion']?></p><!--Forma3 de usar PHP dentro de HTML para estructuras condicionales--><h2>El curso está <?= $curso['estado']?>.</h2><h2>Nivel del curso:<?= $curso['nivel']?></h2><!--Ejercicio:Usar una estructura condicional para mostrar un mensaje diferente según el nivel del curso--><?php
if($curso['nivel']=="Básico"|| $curso['nivel']=="básico"){ echo "<p>Este curso es recomendado para quienes empienzan en programación.</p>";}elseif($curso['nivel']=="intermedio"|| $curso['nivel']=="Intermedio"){ echo "<p>Este curso es recomendado para quienes tienen conocimientos básicos de programación.</p>";}else{//Para el caso de que el curso sea avanzado o cualquier otro nivel que no sea básico o intermedio echo "<p>Este curso es ideal para estudiantes con conocimientos solidos en programación.</p>";}?><!--Mostrar las etiquetas del curso usando el arreglo con foreach -- forma 2--><strong>Etiquetas del curso:</strong><ul><?php foreach($curso['tags']as $tag):?><li><?= $tag ?></li><?php endforeach;?></ul><!--RetoClase4--><strong>Clases o contenido:</strong><ol><?php foreach($curso['clases']as $clase):?><li><?= $clase ?></li><?php endforeach;?></ol><?php
?></body></html>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<p>
<strong>Etiquetas:</strong>
<ul>
<?php foreach($tags as $tag): ?>
<li><?= $tag ?></li>
<?php endforeach; ?>
</ul>
</p>
<!-- Nueva seccion: Recursos relaciones -->
<h2>Recursos relacionados</h2>
<ul>
<?php foreach($recursosRelacionados as $recursos): ?>
<li><?= $recursos ?></li>
<?php endforeach; ?>
</ul>
</body>
</html>
Reto terminado.
Reto terminado.
lo seleccionado es lo que agregue a la practica 5.
<?php
$course =["title"=>"curso de Lenguaje de programación","subtitle"=>"Aprende desde cero","description"=>"Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequatur totam.","tags"=>["PHP","Laravel","JavaScript","HTML","CSS"],'author'=>"Sebastian",'email'=>"sebastian@ejemplo.com",'Lessons'=>["Introducción","Variables","Arreglos","Funciones","POO"]];?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title><?= $course['title']?></title></head><body><h1>Bienvenido al <?= $course['title']?></h1><h2><?= $course['subtitle']?></h2><P><?= $course['description']?></P><p><strong>Etiquetas</strong><ul><?php
//Recorrer el arreglo de etiquetasforeach($course['tags']as $tag):?><li><?= $tag ?></li><?php endforeach;?></ul></p><p><strong>Lecciones</strong></strong><ul><?php
//Recorrer el arreglo de etiquetasforeach($course['Lessons']as $lessons):?><li><?= $lessons ?></li><?php endforeach;?></ul></p></body></html>
<?php
$course =array("title"=>"Curso profesional de php","precio"=>"1500 USD","fecha_publicacion"=>"26/08/2025","description"=>"Estos cursos estan diseñados para personas como tu, especialmente si te apasiona el desarrollo y la innovación","tags"=>array("PHP","JS","Laravel",),"lecciones"=>array("Fundamentos de programación","Tipos de datos","Variables","Operadores","Casting","Debugg","Condicionales","Arreglos","Bucles","POO",),);?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title><?= $course["title"]?></title><body><h1><?= $course["title"]?></h1><p><?= $course["description"]?></p><p>El precio de cualquier curso es de:<?= $course["precio"]?></p><strong>Etiquetas</strong><ul><?php foreach($course["tags"]as $tag):?><li><?= $tag ?></li><?php endforeach;?></ul><strong>Lecciones de los cursos</strong><ul><?php foreach($course["lecciones"]as $leccion):?><li><?= $leccion ?></li><?php endforeach;?></ul></head><footer><?= $course["fecha_publicacion"]?></footer></body></html>
Y fue aquí donde me pregunte si puedo meter un arreglo asociativo dentro de otro arreglo asociativo, y la respuesta es que si :D :0
(experimente antes de ponerlo aquí :D)
<?php
$course = [
"title" => "Curso de PHP",
"description" => "Aprende PHP desde cero con este curso completo.",
"price" => "10 dolars",
"date" => "2023-07-13",
"status" => "disponible", // o "archivado", dependiendo del estado del curso
"level" => "avanzado" /* nivel del curso, puede ser "básico", "intermedio" o "avanzado" */,
"levelMessages" => [
"básico" => "Cualquiera puede tomar el curso",
"intermedio" => "Se necesitan habilidades básicas de programación",
"avanzado" => "Necesitas buen dominio del lenguaje"
],
"tags" => [
"PHP",
"Laravel",
"HTML",
"Xamp",
"MySQL",
],
"requeriments" => [
"Computadora",
"Conexión a Internet",
"Suscripcion a platzi.com",
"1 hora diaria de estudio",
"Disposición para aprender",
],
];
?><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title><?= $course['title'] ?></title></head><body><h2>Bienvenido al <?= $course['title'] ?></h2><h3><?= $course['description'] ?></h3><p> Fecha de inicio: <?= $course['date'] ?><br> El precio del curso es de: <?= $course['price'] ?><br> El estado del curso es: <b><?= $course['status'] ?></b>.<br> Nivel del curso: <?= $course['level'] ?></p><p> Requisitos: <?= $course['levelMessages'][$course['level']] ?? "Nivel no especificado" ?></p><div><h5>Etiquetas del curso:</h5><ul><?php foreach ($course['tags'] as $tag): ?><li><?= $tag ?></li><?php endforeach; ?></ul></div><div><h5>Cosas a necesitar:</h5><ul><?php foreach ($course['requeriments'] as $requeriment): ?><li><?= $requeriment ?></li><?php endforeach; ?></ul></div></body></html>
<?php
$curso =["titulo"=>"Historia de México","subtitulo"=>"Conoce los fundamentos sobre los cuales se construye el concepto de nación","description"=>"El curso de Historia de México ofrece una visión integral y crítica de los procesos históricos que han configurado la identidad, las instituciones y la realidad social, política y económica del México contemporáneo. A través del análisis riguroso de fuentes históricas y el estudio de las principales etapas del desarrollo nacional, el curso busca que el estudiante comprenda las continuidades y rupturas que han marcado la construcción del Estado mexicano.","keywords"=>["Interpretación histórica","Héroes patrios","Etapas históricas","México","Hechos históricos"],"costo"=>1450.00,"fecha_de_inicio"=>"14 de septiembre de 2025",];$temario =[["nombre"=>"Las civilizaciones prehispánicas","descripcion"=>"Estudio de las principales culturas mesoamericanas y su organización social, política y económica.","duracion"=>4],["nombre"=>"La conquista y la colonia","descripcion"=>"Análisis del proceso de conquista española y las instituciones coloniales en México.","duracion"=>3],["nombre"=>"La independencia y el México independiente","descripcion"=>"Revisión de las causas, desarrollo y consecuencias del movimiento independentista.","duracion"=>3],["nombre"=>"La Reforma y el Porfiriato","descripcion"=>"Exploración de las reformas liberales, las guerras internas y la dictadura porfirista.","duracion"=>4],["nombre"=>"La Revolución Mexicana y el México contemporáneo","descripcion"=>"Estudio de la Revolución y los principales procesos del México del siglo XX y XXI.","duracion"=>5],];?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Aprende más:<?= $curso["titulo"]?></title></head><body><p><h2>Aprende más:<?= $curso["titulo"]?></h2></p><p><h3><?= $curso["subtitulo"]?></h3></p><p><?= $curso["description"]?></p><p><strong>Precio en MXN$ </strong><?= $curso["costo"]?></p><p><strong>Fecha de inicio:</strong><?= $curso["fecha_de_inicio"]?></p><p><h4>Etiquetas:</h4><ul><?php foreach($curso["keywords"]as $keyword):?><li><?= $keyword ?></li><?php endforeach ?></ul></p><h3>Temario</h3><p><?php
echo "<ol>";foreach($temario as $tema){ echo "<li>"; echo "<strong>{$tema['nombre']}</strong><br>"; echo "{$tema['descripcion']}<br>"; echo "<em>Duración: {$tema['duracion']} horas</em>"; echo "</li><br>";} echo "</ol>";?></p></body></html>```\<?php $curso = \["titulo"=>"Historia de México","subtitulo"=>"Conoce los fundamentos sobre los cuales se construye el concepto de nación","description"=>"El curso de Historia de México ofrece una visión integral y crítica de los procesos históricos que han configurado la identidad, las instituciones y la realidad social, política y económica del México contemporáneo. A través del análisis riguroso de fuentes históricas y el estudio de las principales etapas del desarrollo nacional, el curso busca que el estudiante comprenda las continuidades y rupturas que han marcado la construcción del Estado mexicano.","keywords"=> \["Interpretación histórica","Héroes patrios","Etapas históricas","México","Hechos históricos"],"costo"=>1450.00,"fecha\_de\_inicio"=>"14 de septiembre de 2025",];$temario = \[ \["nombre"=>"Las civilizaciones prehispánicas","descripcion"=>"Estudio de las principales culturas mesoamericanas y su organización social, política y económica.","duracion"=>4], \["nombre"=>"La conquista y la colonia","descripcion"=>"Análisis del proceso de conquista española y las instituciones coloniales en México.","duracion"=>3], \["nombre"=>"La independencia y el México independiente","descripcion"=>"Revisión de las causas, desarrollo y consecuencias del movimiento independentista.","duracion"=>3], \["nombre"=>"La Reforma y el Porfiriato","descripcion"=>"Exploración de las reformas liberales, las guerras internas y la dictadura porfirista.","duracion"=>4], \["nombre"=>"La Revolución Mexicana y el México contemporáneo","descripcion"=>"Estudio de la Revolución y los principales procesos del México del siglo XX y XXI.","duracion"=>5],];?>\<!DOCTYPE html>\<html lang="en">\<head> \<meta charset="UTF-8"> \<meta name="viewport" content="width=device-width, initial-scale=1.0"> \<title>Aprende más: \<?= $curso\["titulo"]?>\</title>\</head>\<body> \<p> \<h2>Aprende más: \<?= $curso\["titulo"]?>\</h2> \</p> \<p> \<h3> \<?= $curso\["subtitulo"]?> \</h3> \</p> \<p> \<?= $curso\["description"]?> \</p> \<p> \<strong>Precio en MXN$ \</strong> \<?= $curso\["costo"]?> \</p> \<p> \<strong>Fecha de inicio: \</strong> \<?= $curso\["fecha\_de\_inicio"]?> \</p> \<p> \<h4>Etiquetas:\</h4> \<ul> \<?php foreach($curso\["keywords"]as $keyword):?> \<li>\<?= $keyword ?>\</li> \<?php endforeach ?> \</ul> \</p> \<h3>Temario\</h3> \<p> \<?php echo "\<ol>";foreach($temario as $tema){ echo "\<li>"; echo "\<strong>{$tema\['nombre']}\</strong>\<br>"; echo "{$tema\['descripcion']}\<br>"; echo "\<em>Duración: {$tema\['duracion']} horas\</em>"; echo "\</li>\<br>";} echo "\</ol>";?> \</p>\</body>\</html>
<?php
$course =['title'=>'Curso Profesional de PHP y Laravel',//1, true, 1.5'subtitle'=>'Desarrolla aplicaciones web con PHP y Laravel','description'=>'Aprende a desarrollar aplicaciones web modernas utilizando PHP y el framework Laravel.','archived'=>true,//false'price'=>50,'published_at'=>'13 de Junio del 2025','messages'=>'El Curso Profesional de PHP y Laravel tiene un costo de $50 y fue publicado el 13 de Junio del 2025.','status'=>'archivado',//activo o archivado'tags'=>['PHP',//0'Laravel',//1'JavaScript',//2],'courses_related'=>['Curso de JavaScript','Curso de HTML y CSS','Curso de Bases de Datos',],'lessons'=>['Introducción a PHP','Fundamentos de Laravel','Desarrollo de APIs con Laravel','Autenticación y Autorización','Despliegue de Aplicaciones',],]?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title><?= $course['title'];?></title></head><body><h2>Bienvenido al <?= $course['title'];?></h2><p><?= $course['messages'];?></p><p>Este curso esta <?= $course['status'];?></p><p><strong>Etiquetas</strong><ul><li><?= $course['tags'][0]?></li><li><?= $course['tags'][1]?></li><li><?= $course['tags'][2]?></li></ul></p><p><strong>Etiquetas</strong><ul><?php foreach($course['tags']as $tag):?><li><?= $tag ?></li><?php endforeach;?></ul></p><p><strong>CursosRelacionados</strong><ul><?php foreach($course['courses_related']as $related_course):?><li><?= $related_course ?></li><?php endforeach;?></ul></p><p><strong>Lecciones</strong><ul><?php foreach($course['lessons']as $lesson):?><li><?= $lesson ?></li><?php endforeach;?></ul></p></body></html>