Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
index.html
Tab = 4 espacios
1
<!DOCTYPE html>
<html>
<body>

<h2>Manejo Profesional de Arrays en PHP 8.3</h2>

<?php
// 1. Array asociativo multidimensional (catálogo de productos)
$inventario = [
    ["id" => 1, "nombre" => "Teclado Mecánico", "precio" => 85.00, "categoria" => "Hardware", "stock" => 12],
    ["id" => 2, "nombre" => "Monitor 4K 27\"",  "precio" => 320.00, "categoria" => "Hardware", "stock" => 4],
    ["id" => 3, "nombre" => "Curso PHP Fullstack", "precio" => 49.00, "categoria" => "Educación", "stock" => 999],
    ["id" => 4, "nombre" => "Mouse Ergonómico", "precio" => 45.00, "categoria" => "Hardware", "stock" => 0],
    ["id" => 5, "nombre" => "Suscripción Kilopolis PRO", "precio" => 19.00, "categoria" => "Educación", "stock" => 999],
];

echo "<p>Total de productos registrados: <strong>" . count($inventario) . "</strong></p>";

// 2. Filtrar productos con stock disponible usando array_filter
$disponibles = array_filter($inventario, fn(array $item): bool => $item['stock'] > 0);

echo "<h4>Productos Disponibles en Stock (" . count($disponibles) . "):</h4>";
echo "<ul>";
foreach ($disponibles as $prod) {
    echo "<li><strong>{$prod['nombre']}</strong> — \${$prod['precio']} USD (Stock: {$prod['stock']})</li>";
}
echo "</ul>";

// 3. Extraer solo los nombres con array_column
$nombres = array_column($inventario, 'nombre');
echo "<p>Lista plana de nombres: <em>" . implode(" | ", $nombres) . "</em></p>";

// 4. Calcular el valor total del inventario con array_reduce
$valorTotal = array_reduce(
    $disponibles,
    fn(float $acumulado, array $item): float => $acumulado + ($item['precio'] * min($item['stock'], 20)),
    0.0
);

echo "<p style='padding:10px; background:#f0fdf4; border-left:4px solid #16a34a;'>
    Valorización estimada del stock disponible: <strong>$" . number_format($valorTotal, 2) . " USD</strong>
</p>";

// 5. Operador Spread (...) para combinar arrays (PHP 7.4+)
$hardwareBase = ["Mouse", "Teclado"];
$hardwarePro  = ["Webcam 4K", "Micrófono USB"];
$kitCompleto  = [...$hardwareBase, "Auriculares con cancelador", ...$hardwarePro];

echo "<h4>Kit Desarrollador combinado con spread operator (...):</h4>";
echo "<ol>";
foreach ($kitCompleto as $art) {
    echo "<li>{$art}</li>";
}
echo "</ol>";
?>

</body>
</html>
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3