Clases y Objetos en PHP: Guía completa de POO con ejemplos
Aprende Clases y Objetos en PHP (POO): sintaxis, propiedades, métodos, visibilidad, herencia, interfaces, traits, magic methods y ejemplos prácticos. Ideal para PHP 7/8+
Leer másResumen: Esta guía cubre desde los conceptos básicos hasta temas avanzados sobre arrays en PHP. Incluye ejemplos comentados, funciones comunes, buenas prácticas, rendimiento y ejercicios para practicar.
Un array es una estructura de datos que almacena múltiples valores en una sola variable. En PHP, los arrays son heterogéneos (pueden contener diferentes tipos) y dinámicos (puedes añadir o quitar elementos en tiempo de ejecución).
PHP implementa arrays con asociative arrays internamente — es decir, cada elemento tiene una clave (key) que puede ser un entero o una cadena, y un valor (value).
<?php
$frutas = ["Manzana", "Banana", "Naranja"];
<?php
$frutas = array("Manzana", "Banana", "Naranja");
<?php
$persona = [
"nombre" => "Andrés",
"edad" => 30,
"ciudad" => "Lima"
];
<?php
echo $frutas[0]; // Manzana
echo $persona["nombre"]; // Andrés
<?php
$frutas[1] = "Pera"; // reemplaza Banana por Pera
$persona["edad"] = 31;
<?php
$datos["telefono"] = "987654321";
<?php
unset($frutas[2]); // elimina Naranja (la clave 2)
Nota: unset() elimina la clave. Si trabajas con índices numéricos, la reindexación no ocurre automáticamente (usa array_values() si quieres reindexar).
<?php
foreach ($frutas as $index => $valor) {
echo "$index => $valor
";
}
<?php
foreach ($frutas as &$valor) {
$valor = strtoupper($valor);
}
unset($valor); // muy importante: eliminar la referencia al final
Si olvidas unset($valor) tras usar la referencia, la variable seguirá referenciando el último elemento y puede causar bugs.
<?php
for ($i=0, $n = count($frutas); $i < $n; $i++) {
echo $frutas[$i];
}
each() fue deprecated y eliminada en versiones recientes — usa foreach o ArrayIterator.
Nota: hay muchas funciones; aquí están las más usadas y prácticas.
count($arr) o sizeof($arr) — número de elementos.<?php
echo count($frutas); // 3
array_push($arr, $val) — añade al final (devuelve nuevo tamaño).array_pop($arr) — elimina y devuelve el último elemento.array_unshift($arr, $val) — añade al inicio.array_shift($arr) — elimina y devuelve el primer elemento.<?php
array_push($frutas, "Kiwi");
$ultimo = array_pop($frutas);
in_array($needle, $haystack) — busca valor.array_search($needle, $haystack) — devuelve clave o false.array_key_exists($key, $arr) — comprueba si existe la clave.isset($arr[$key]) — similar pero false si la clave existe y es null.<?php
if (in_array("Pera", $frutas)) { echo "existe"; }
$key = array_search("Pera", $frutas); // 1
array_map($callback, $arr) — aplica una función a cada elemento y devuelve nuevo array.array_filter($arr, $callback) — devuelve elementos que cumplan la condición.array_reduce($arr, $callback, $initial) — reduce en un único valor.array_walk($arr, $callback) — aplica función a cada elemento (no devuelve nuevo array, actúa en sitio o por referencia).<?php
$mayus = array_map('strtoupper', $frutas);
$pares = array_filter([1,2,3,4,5], fn($v) => $v % 2 === 0);
$sum = array_reduce([1,2,3,4], fn($carry,$v) => $carry + $v, 0);
array_keys($arr) — devuelve array de claves.array_values($arr) — devuelve array de valores.array_key_first($arr) / array_key_last($arr) — (PHP 7.3+) obtienen la primera/ultima clave.array_merge($a, $b) — une arrays; reindexa claves numéricas.array_merge_recursive($a, $b) — combina recursivamente.$union = $a + $b — unión por claves (preserva claves del primer array).array_combine($keys, $values) — crea array combinando claves y valores (ambos arrays deben tener mismo tamaño).<?php
$a = [0 => "cero", 1 => "uno"];
$b = [0 => "A", 2 => "dos"];
print_r(array_merge($a, $b)); // reindexa
print_r($a + $b); // conserva claves del $a
array_values($arr) — devuelve array con índices numéricos reindexados desde 0.array_slice, array_splice, array_chunk, array_rand, shuffle, array_unique, array_sum, array_product, array_count_values, array_column, array_flip.<?php
$parte = array_slice($frutas, 1, 2); // obtiene subarray
array_splice($frutas, 1, 1, ["Pera", "Melón"]); // reemplaza
$chunks = array_chunk($frutas, 2);
Importante: algunas funciones preservan las claves y otras no.
sort($arr) — ordena valores, reindexa claves.rsort($arr) — orden descendente.asort($arr) — ordena manteniendo relación clave=>valor (preserva claves).arsort($arr) — como asort en orden descendente.ksort($arr) — ordena por claves (ascendente).krsort($arr) — por claves (descendente).usort($arr, $callback) — ordena usando función de comparación (no preserva claves).uasort($arr, $callback) — orden por valores con callback y preserva claves.Ejemplo — ordenar asociativo por valores manteniendo claves:
<?php
$productos = ["a" => 10, "b" => 5, "c" => 8];
asort($productos); // b=>5, c=>8, a=>10 (claves preservadas)
Ejemplo — usort para objetos
<?php
$usuarios = [
["name" => "Ana", "edad" => 30],
["name" => "Luis", "edad" => 25],
];
usort($usuarios, fn($a,$b) => $a['edad'] <=> $b['edad']); // ordena por edad
Un array puede contener arrays (matrices / tablas).
<?php
$matriz = [
[1,2,3],
[4,5,6],
[7,8,9]
];
echo $matriz[1][2]; // 6
<?php
$usuarios = [
["id"=>1, "name"=>"Ana"],
["id"=>2, "name"=>"Luis"],
];
echo $usuarios[0]['name']; // Ana
<?php
foreach ($matriz as $fila) {
foreach ($fila as $valor) {
echo $valor;
}
}
<?php
$names = array_column($usuarios, 'name'); // ["Ana", "Luis"]
<?php
$producto = [
"id" => 10,
"nombre" => "Camiseta",
"precio" => 29.90
];
<?php
$usersById = [
101 => ["name"=>"Ana"],
102 => ["name"=>"Luis"]
];
echo $usersById[101]['name']; // Ana
<?php
$usersById[101]['email'] = "ana@example.com";
array_merge($a, $b) — combine arrays.array_slice($arr, $offset, $length) — copia parcial sin modificar original.array_splice(&$arr, $offset, $length, $replacement) — modifica el array original.array_chunk($arr, $size) — divide en bloques.<?php
$a = [1,2,3,4,5];
$b = array_slice($a, 1, 3); // [2,3,4]
array_splice($a, 1, 2); // $a ahora [1,4,5]
En PHP, la asignación de arrays usa copy-on-write: asignar un array a otra variable no duplica memoria hasta que uno de los dos se modifica.
<?php
$a = [1,2,3];
$b = $a; // no copia inmediatamente (copy-on-write)
$b[0] = 99; // ahora PHP hace la copia y modifica $b
<?php
$a = [1,2,3];
$b = &$a; // $b referencia a $a
$b[0] = 99;
echo $a[0]; // 99
Usa referencias con cuidado: pueden causar código difícil de mantener.
<?php
$json = json_encode($producto);
$array = json_decode($json, true); // true devuelve array asociativo
<?php
$csv = implode(",", $frutas); // "Manzana,Pera, ..."
$parts = explode(",", $csv);
<?php
$s = serialize($producto);
$orig = unserialize($s);
<?php
$std = (object) $producto; // array a objeto stdClass
$arr = (array) $std; // objeto a array
yield) para procesar elemento a elemento sin cargar todo en memoria.SplFixedArray puede usar menos memoria si el tamaño es fijo, pero su uso es menos común y la API es distinta.foreach con count() en la condición sin almacenarla en variable si el array puede cambiar en cada iteración. Mejor hacer $n = count($arr) antes.Ejemplo de generator
<?php
function iterarLineas($file) {
$f = fopen($file, 'r');
while (($line = fgets($f)) !== false) {
yield $line;
}
fclose($f);
}
foreach (iterarLineas('archivo.txt') as $line) {
// procesa línea sin cargar todo el archivo
}
ArrayObject y ArrayIterator — objetos que envuelven arrays y permiten métodos de iteración y manipulación.SplFixedArray — array de tamaño fijo (menor consumo de memoria en algunos casos).yield) — recorrer grandes conjuntos sin memorizarlos.unset($var) después de foreach(&$v) — produce referencias indeseadas.array_merge creyendo que preservará claves numéricas — array_merge reindexa claves numéricas.isset() y array_key_exists() — isset() devuelve false si la clave existe y su valor es null.array_combine() — ambos arrays deben tener el mismo tamaño.Invertir array: escribir función que reciba array y devuelva mismo array invertido sin usar array_reverse().
Contar palabras: dada una cadena, contar cuántas veces aparece cada palabra (uso de explode() y array_count_values()).
Agrupar por propiedad: dado array de usuarios con ['id','name','city'], agruparlos por city (resultado: ['Lima' => [user1,user2], 'Cusco'=>[...]]).
Merge sin perder claves: combinar dos arrays asociativos sin que las claves del primer array se sobrescriban (usa el operador +).
Filtrar duplicados por campo: dada lista de arrays (usuarios) eliminar duplicados por email conservando el primero.
var_dump($arr) — muestra estructura con tipos.print_r($arr) — formato legible.var_export($arr, true) — devuelve código PHP que representa el array.foreach para iterar por claridad. array_combine). yield o estructuras más eficientes. array_merge, sort, asort. unset().count(), in_array(), array_search(), array_key_exists(), isset(), array_keys(), array_values(), array_map(), array_filter(), array_reduce(), array_push(), array_pop(), array_shift(), array_unshift(), array_merge(), array_slice(), array_splice(), array_chunk(), array_column(), array_unique(), array_sum(), array_reverse().¿Quieres que guarde este contenido en un archivo .md para descargarlo? Puedo:
arrays-en-php-completo.md y darte el enlace de descarga, oAprende Clases y Objetos en PHP (POO): sintaxis, propiedades, métodos, visibilidad, herencia, interfaces, traits, magic methods y ejemplos prácticos. Ideal para PHP 7/8+
Leer másAprende los fundamentos de PHP desde cero. Descubre qué son las variables, cómo se declaran, sus tipos principales y ejemplos prácticos para comenzar a programar en PHP.
Leer másAprende a configurar CodeIgniter 4 con Nginx en un VPS Ubuntu 20. Guía completa para instalar, optimizar y desplegar tu aplicación web de forma segura y eficiente.
Leer másAprende a usar condicionales en PHP paso a paso. Descubre cómo funcionan if, else, elseif, switch, el operador ternario y ?? con ejemplos prácticos y buenas prácticas de programación.
Leer másAprende a usar variables en PHP con ejemplos claros. Descubre cómo declararlas, concatenar cadenas de texto, realizar operaciones matemáticas y aplicar operadores en tus proyectos de programación web.
Leer másAprende todo sobre los arrays en PHP: qué son, cómo se crean, tipos de arrays, funciones útiles y ejemplos prácticos para programadores principiantes.
Leer másAprende a usar variables en PHP con ejemplos claros. Descubre cómo declararlas, concatenar cadenas de texto, realizar operaciones matemáticas y aplicar operadores en tus proyectos de programación web.
Leer másDescubre qué es la alimentación consciente, sus beneficios para tu salud física y mental, y cómo aplicarla en tu vida diaria para mejorar tu bienestar.
Leer másDescubre cómo es Virgo en el trabajo: su estilo laboral, sus mayores talentos, debilidades profesionales, relación con el dinero y las profesiones donde más destaca. Una guía completa para entender su energía productiva.
Leer másAprende Clases y Objetos en PHP (POO): sintaxis, propiedades, métodos, visibilidad, herencia, interfaces, traits, magic methods y ejemplos prácticos. Ideal para PHP 7/8+
Leer másAprende todo sobre los arrays en PHP: qué son, cómo se crean, tipos de arrays, funciones útiles y ejemplos prácticos para programadores principiantes.
Leer másUna línea de tiempo detallada de los ataques militares de Estados Unidos contra Venezuela el 3 de enero de 2026, con horas aproximadas y las reacciones de líderes y gobiernos en todo el mundo.
Leer másDescubre cómo es Virgo en la amistad: su forma de relacionarse, cómo demuestra cariño, qué espera de sus amistades y con qué signos se lleva mejor. Una guía clara y completa sobre la energía social de Virgo.
Leer másDeportes > Tendencias deportivas
Descubre cuáles son los deportes que lideran la pasión de millones en Latinoamérica en 2025. Desde el fútbol hasta disciplinas emergentes, te contamos qué mueve a los fanáticos
Leer másDescubre cómo es Géminis en la salud: su energía, puntos sensibles del cuerpo y consejos para mantener el equilibrio físico y mental.
Leer másEconomía > Finanzas Personales
Descubre los 10 errores financieros más comunes que pueden poner en riesgo tu estabilidad económica y aprende cómo evitarlos con estrategias prácticas de educación financiera.
Leer másGuía completa sobre la salud física, emocional y mental de Virgo. Descubre sus fortalezas, puntos sensibles, hábitos recomendados y consejos de bienestar según la astrología.
Leer másViajes y Turismo > Destinos y Experiencias
Explora 10 destinos sorprendentes para viajar en 2025. Desde aventuras exóticas hasta escapadas relajantes, descubre lugares que harán tus vacaciones inolvidables.
Leer másDescubre cómo avanza la nueva carrera espacial, qué países y empresas están liderando y quién podría dominar el espacio en los próximos años
Leer másAprende las mejores estrategias para crecer en TikTok en 2025. Descubre cómo aumentar seguidores, conseguir más vistas y destacar en la plataforma.
Leer másDescubre cómo es Tauro en el amor: su personalidad romántica, compatibilidad con otros signos, fortalezas y desafíos en las relaciones.
Leer másEconomía > Emprendimiento Digital
Descubre cómo crear un negocio online rentable con poca inversión. Aprende estrategias, herramientas y modelos de negocio digital que puedes comenzar hoy mismo para generar ingresos desde internet.
Leer másUn análisis profundo sobre eventos actuales que están ocurriendo simultáneamente: fallas de satélites, decisiones autónomas de la inteligencia artificial y movimientos estratégicos que no aparecen en los grandes medios. ¿Coincidencia o patrón?
Leer másUn nuevo análisis de ADN identifica a Aaron Kosminski como Jack el Destripador, el asesino que aterrorizó Londres en 1888. Descubre la verdad detrás del misterio.
Leer másAprende paso a paso cómo usar WhatsApp sin número de teléfono físico en 2025, usando alternativas seguras y legales. Guía completa y actualizada.
Leer másDescubre cuáles serán las redes sociales más importantes en 2025 y cómo marcarán el futuro de la comunicación, el marketing y los negocios digitales.
Leer másDescubre la historia de Ted Bundy, uno de los asesinos seriales más infames de la historia. Conocido por su carisma y brutalidad, Bundy cometió crímenes atroces en los años 70, dejando una huella imborrable en la criminología. Conoce sus métodos, víctimas, captura y legado oscuro.
Leer másEntretenimiento Digital > Streamers Peruanos
Descubre la historia de Zully, conocida como Zulamita, la influencer peruana que conquistó TikTok y otras redes sociales. Conoce su biografía, edad, trayectoria, polémicas y evolución hacia la música.
Leer másDescubre la historia de Erick Moreno, alias “El Monstruo”, el delincuente más buscado del Perú. Biografía, crímenes, recompensa millonaria y su captura en Paraguay.
Leer másDurante siglos, la gente creyó que bañarse podía causar enfermedades mortales. Descubre cómo el miedo al agua, la peste y la religión transformaron la higiene en la Edad Media.
Leer másDescubre todas las películas que ya son de dominio público hasta 2025. Incluye lista completa con sinopsis, géneros y qué puedes hacer con ellas legalmente
Leer másDescubre cómo Aries influye en la vida espiritual: su energía, retos kármicos y el camino hacia el equilibrio interior.
Leer másDescubre por qué implementar un sistema de citas online puede mejorar la organización de tu clínica veterinaria y atraer más clientes.
Leer más