Arrays indexados
<?php
// Sintaxis corta (PHP 5.4+)
$colores = ["rojo", "verde", "azul"];
// Sintaxis clásica
$numeros = array(1, 2, 3, 4, 5);
echo $colores[0]; // rojo
echo $colores[2]; // azul
// Añadir al final
$colores[] = "amarillo";
// Recorrer con foreach
foreach ($colores as $color) {
echo "Color: $color\n";
}
?>
Arrays asociativos
<?php
$alumno = [
"nombre" => "Ana García",
"edad" => 20,
"curso" => "2º DAW"
];
echo $alumno["nombre"]; // Ana García
// Recorrer clave => valor
foreach ($alumno as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
Arrays multidimensionales
<?php
$clase = [
["nombre" => "Ana", "nota" => 8.5],
["nombre" => "Carlos", "nota" => 6.2],
["nombre" => "Marta", "nota" => 9.1]
];
foreach ($clase as $alumno) {
echo $alumno["nombre"] . ": " . $alumno["nota"] . "\n";
}
?>
Estructuras de control
if / elseif / else
<?php
$nota = 7.5;
if ($nota >= 9) {
echo "Sobresaliente";
} elseif ($nota >= 7) {
echo "Notable";
} elseif ($nota >= 5) {
echo "Aprobado";
} else {
echo "Suspenso";
}
// Operador ternario
$resultado = ($nota >= 5) ? "Aprobado" : "Suspenso";
// Null coalescing operator (PHP 7+)
$nombre = $_GET["nombre"] ?? "Invitado";
?>
switch
<?php
$dia = "lunes";
switch ($dia) {
case "lunes":
echo "Empieza la semana";
break;
case "viernes":
echo "Último día lectivo";
break;
case "sábado":
case "domingo":
echo "Fin de semana";
break;
default:
echo "Día normal";
}
?>
Bucles
<?php
// while
$i = 1;
while ($i <= 5) {
echo "Nº $i\n";
$i++;
}
// do-while (se ejecuta al menos una vez)
$j = 1;
do {
echo $j;
$j++;
} while ($j <= 5);
// for
for ($i = 0; $i < 5; $i++) {
echo "Iteración $i\n";
}
// foreach (el más usado para arrays)
$frutas = ["manzana", "pera", "plátano"];
foreach ($frutas as $fruta) {
echo $fruta . "\n";
}
// break y continue
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) continue; // Salta el 5
if ($i == 8) break; // Termina en el 8
echo $i . " ";
}
// Imprime: 1 2 3 4 6 7
?>
Funciones útiles para arrays
<?php
$nums = [3, 1, 4, 1, 5, 9];
count($nums); // 6 - longitud
sort($nums); // ordena ascendente
rsort($nums); // ordena descendente
array_push($nums, 2);// añade al final
array_pop($nums); // elimina el último
in_array(4, $nums); // true - busca valor
implode(",", $nums); // "3,1,4,1,5,9" - array a string
explode(",", $str); // string a array
array_merge($a, $b); // combina arrays
array_keys($arr); // devuelve las claves
array_values($arr); // devuelve los valores
?>
Ejercicios
- Crea un array con las 7 notas de un alumno y calcula la media.
- Usando un array asociativo, guarda 3 productos con nombre y precio, y muéstralos en una tabla HTML.
- Escribe un bucle que muestre los números del 1 al 20, pero saltando los múltiplos de 3.
- Crea un array de alumnos (cada uno con nombre y nota) y muestra solo los aprobados.
← Volver al curso