📦 Arrays y estructuras de control

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

  1. Crea un array con las 7 notas de un alumno y calcula la media.
  2. Usando un array asociativo, guarda 3 productos con nombre y precio, y muéstralos en una tabla HTML.
  3. Escribe un bucle que muestre los números del 1 al 20, pero saltando los múltiplos de 3.
  4. Crea un array de alumnos (cada uno con nombre y nota) y muestra solo los aprobados.

← Volver al curso