Arrays y Funciones Útiles en PHP
Domina el manejo de arrays indexados, asociativos y multidimensionales, junto con las funciones nativas indispensables para transformar y filtrar datos.
Tipos de Arrays en PHP
Un array en PHP es una estructura de datos ordenada y flexible que asocia valores con claves. PHP soporta tres tipos fundamentales:
- Arrays Indexados: Claves numéricas automáticas comenzando desde
0. - Arrays Asociativos: Pares clave-valor personalizados con claves de tipo texto (
"nombre" => "Carlos"). - Arrays Multidimensionales: Arrays que contienen otros arrays en su interior (útil para matrices o registros de base de datos).
Funciones Nativas Indispensables
| Función | Descripción | Ejemplo |
|---|---|---|
count($arr) |
Retorna el número de elementos del array. | count([1, 2, 3]) // 3 |
in_array($val, $arr) |
Comprueba si un valor existe en el array. | in_array("PHP", $lenguajes) |
array_key_exists($k, $arr) |
Verifica si una clave existe en un array asociativo. | array_key_exists("email", $usuario) |
array_filter($arr, fn) |
Filtra elementos evaluando una función booleana. | array_filter($nums, fn($n) => $n > 5) |
array_map(fn, $arr) |
Aplica una función a cada elemento retornando un nuevo array. | array_map(fn($x) => $x * 2, $arr) |
sort() / asort() |
Ordena elementos (asort preserva las claves asociativas). |
asort($precios) |
⚡ Ejemplo de Transformación de Arrays en PHP
Filtra y calcula totales sobre una lista de productos en una tienda de Kilopolis:
<!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>
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de PHP y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.