Manuel Andrés Buriticá Yepes
Danilo Hernandez
Ricardo Andres Zambrano Cuaicuan
¿Cómo manipular arrays en PHP de forma efectiva?
El manejo de arrays en PHP es un aspecto fundamental que todo programador necesita dominar para trabajar eficientemente con estructuras de datos más complejas, como bases de datos. Imagina que puedes transformar y ordenar tus datos usando funciones predefinidas del lenguaje, facilitando tareas cotidianas como clasificar, dividir, y modificar elementos. A continuación, exploraremos varias funciones de PHP que te permitirán manipular arrays de manera óptima.
¿Cómo ordenar arrays en PHP?
Ordenar arrays es una necesidad recurrente en programación, ya sea para presentarlos al usuario o para otras operaciones lógicas. PHP ofrece funciones sencillas que puedes utilizar:
sort(): Ordena los elementos de un array en orden ascendente. Esta función altera el array original.
$cursos = ['PHP', 'JavaScript', 'Laravel']; sort($cursos);
rsort(): Ordena los elementos en orden descendente.
rsort($cursos);
ksort(): Ordena por claves en orden ascendente, lo cual es útil para arrays asociativos.
$numeros = [10 => 'diez', 100 => 'cien', 1 => 'uno']; ksort($numeros);
¿Cómo manejar y manipular porciones de arrays?
Las aplicaciones prácticas de dividir arrays pueden ser enormes, especialmente al trabajar con grandes conjuntos de datos. Aquí algunas funciones que te serán útiles:
array_slice(): Extrae una parte de un array. Retorna un nuevo array con los elementos seleccionados sin modificar el original.
$paises = ['Chile', 'Argentina', 'Perú']; $segmento = array_slice($paises, 1); // Devuelve ['Argentina', 'Perú']
array_chunk(): Divide un array en fragmentos más pequeños.
$fruta = ['manzana', 'banana', 'piña', 'naranja']; $fragmentos = array_chunk($fruta, 2); // Resultado: [['manzana', 'banana'], ['piña', 'naranja']]
¿Cómo modificar y transformar arrays?
Modificar un array puede involucrar desde agregar o eliminar elementos hasta intercambiar valores con sus claves. Veamos cómo hacerlo:
array_shift() y array_pop(): Eliminar y retornar el primer o último elemento del array, respectivamente.
$colores = ['rojo', 'verde', 'azul']; $primer_color = array_shift($colores); // Elimina 'rojo' $ultimo_color = array_pop($colores); // Elimina 'azul'
array_unshift() y array_push(): Agregar elementos al inicio o al final del array, respectivamente.
array_unshift($colores, 'amarillo'); // Agrega 'amarillo' al inicio array_push($colores, 'violeta'); // Agrega 'violeta' al final
array_flip(): Intercambia las claves por sus valores en un array.
$rol = ['backend' => 'PHP', 'frontend' => 'JavaScript']; $intercambiado = array_flip($rol); // Resultado: ['PHP' => 'backend', 'JavaScript' => 'frontend']
Consejos prácticos para trabajar con arrays en PHP
Explora estas funciones y observa cómo tu habilidad para manipular datos en PHP se expande rápidamente. La destreza en el manejo de arrays te abrirá muchas puertas en el desarrollo de aplicaciones eficientes y responsivas. ¡Adelante, practica y comenta tus resultados!
Manuel Andrés Buriticá Yepes
Danilo Hernandez
Ricardo Andres Zambrano Cuaicuan
Carlos Eduardo Gomez García
Kenet Andrés Chungandro Montenegro
Jhon Fabio Cardona Martinez
Edgar Ramón González Contreras
Danny Velásquez
Lucas Saurin
Italo Morales Fantone
ProfesorMaría Sierra
Usuario anónimo
UserAriel Ale
Jose Manuel Romero
Christian Molina Vázquez
Juan Pablo Campuzano Monsalve
DAVID Pareja Arango
Alice Ramírez
Santiago Rufiner
Roberto Elian Silva
Jimmy Buriticá Londoño
Manuel Cabos
Alejandro Pérez Restrepo
Jordi Yair Calva García
Elkin taharon
Nicolas Cardenas Camelo
Eduardo Reyes
Estas son algunas de las funciones de PHP utilizadas para los arrays:
sort: Ordena un array.
rsort: Ordena un array en orden inverso.
ksort: Ordena un array por clave.
krsort: Ordena un array por clave en orden inverso.
array_slice: Extrae una parte de un array.
array_chunk: Divide un array en fragmentos.
array_shift: Quita un elemento del principio del array.
array_pop: Extrae el último elemento del final del array.
array_unshift: Añadir al inicio de un array uno a más elementos.
array_push: Inserta uno o más elementos al final de un array.
array_flip: Intercambia todas las claves de un array con sus valores asociados.
Gracias.
Excelente resumen
Interesante, esto es lo que amo de PHP, posee un arsenal de funciones muy útiles, al igual que en la clase de strings, les dejo ña página con más funciones útiles para php en este enlace
Recuerda que esta página en la biblia del programador de PHP, ahí está toda su documentación :D
Buen aporte el que nos compartes de tus notas.
Reto cumplido, así quedaron los métodos. Todos funcionando.
$courses = [ 'backend' =>'PHP', 'frontend' => 'Javascript', 'framework' => 'Laravel' ]; echo "<pre>"; var_dump(array_flip($courses)); var_dump(array_slice($courses, 1)); var_dump(array_chunk($courses, 1)); $course = array_shift($courses); $data = array_pop($courses); print_r($data); array_unshift($courses, "vuejs", "css"); print_r($courses); array_push($courses, "vuejs");
Mis apuntes
<?php echo "<h1>Funciones PHP para arrays</h1>"; echo "---------------"; $courses = ['php', 'javascript', 'laravel']; $course = [ 10 => 'php', 100 => 'javascript', 1000 => 'laravel' ]; //ordenar sort($courses); #Ordenar de forma Recursiva //rsort($courses); #Ordenar por Key ksort($course); //krsort($course); //Ordenar de forma Recursiva echo("<pre>"); var_dump($courses); echo "<br>"; var_dump($course); echo "<br>"; #array_slide array rebanada //en este caso eliminamos el Key 1 array_slice($courses, 1); var_dump(array_slice($course, 1)); //Resultado /* array(2) { [0]=> string(10) "javascript" [1]=> string(7) "laravel" } */ echo "<br>"; #array_chunk array pedazo $courses_chunk = ['php', 'javascript', 'laravel']; //en este caso crea un 2 arrays y uno de ellos contiene dos elementos de los 3 que cotiene el array principal array_chunk($courses_chunk, 2); var_dump(array_chunk($courses_chunk, 2)); echo "<br>"; #array_shift() $courses_shift = ['php', 'javascript', 'laravel']; //Quita un elemento del principio del array array_shift($courses_shift); var_dump(array_shift($courses_shift)); echo "<br>"; #array_pop() $courses_pop = ['php', 'javascript', 'laravel']; //Extrae el último elemento del final del array array_pop($courses_pop); var_dump($courses_pop); echo "<br>"; #array_unshift() $courses_unshift = ['php', 'javascript', 'laravel']; //Añadir al inicio de un array uno a más elementos array_unshift($courses_unshift, 'laravel2', 'javascript2'); var_dump($courses_unshift); echo "<br>"; #array_push() $courses_push = ['php', 'javascript', 'laravel']; //Inserta uno o más elementos al final de un array array_push($courses_push, 'laravel1', 'javascript1'); var_dump($courses_push); echo "<br>"; #array_flip() $courses_flip = [ 'backend' => 'php', 'forntend' => 'javascript' ]; //Intercambia todas las claves de un array con sus valores asociados $intercambio = array_flip($courses_flip); var_dump($intercambio);
la r de rsort es de reverse, no recursivo.
O inverso, también es válido.
Funciones PHP para arrays
Vamos ver funciones propias de PHP que nos servirán para manipular correctamente un Array, estas funciones nos permitirán manejar de mejor manera los Arrays, pero también los conceptos nos ayudarán cuando estemos trabajando con database.
<?php $courses = [ 10 => 'php', 100 => 'javascript', 1000 => 'laravel' ]; ksort($courses); var_dump($courses);
var_dump(array_unshift($courses, 'Ruby'));
✨ PHP tiene un stock completo de funciones para trabajar con arrays. Esto facilita en gran medida el desarrollo de nuestras aplicaciones.
La r de rsort ¿No hace referencia a reverse? Recursivo es un concepto bastante distinto y no tiene mucho que ver con el orden...
Si correcto, pensé lo mismo
Un pequeño error, la r es de reverse, no de recursivo.
Es correcto!
Hola. Al rededor del minuto 4:10 el elemento que se quita del array no es php sino laravel, esto es debido a que el array $courses está ordenado por sus claves de forma descendente, por lo tanto el primer elemento sería 1000 => 'laravel', es cual es el que se retira.
Exacto
🎯 TIP: Para imprimir una array completo podemos usar la función print_r ($array)
La función sort() ordena de 2 dos manera:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Para ordenar arrays complejos o asociativos, existen estas dos funciones: asort() arsort() De esta forma se conserva la clave =>valor, pero se ordena por valor.
⚠️ Tener en cuenta la "mutabilidad" con las funciones
Algunas funciones modifican el array original y otras generan un array nuevo. Es como en JavaScript, pero no es exactamente igual en PHP.
<?php $courses = ['php', 'js', 'laravel']; // Ordenar array sort($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // Ordenar array de manera descendente rsort($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // ordenar por la key de manera ascendente ksort($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // Ordena por la key de manera descendente krsort($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // Quitar un elemento de un array echo "<pre>"; print_r(array_slice($courses, 1)); echo "</pre>"; // Separar un array echo "<pre>"; print_r(array_chunk($courses, 2)); echo "</pre>"; // Eliminar primer key del array: array_shift($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // Eliminar el ultimo elemento del array array_pop($courses); echo "<pre>"; print_r($courses); echo "</pre>"; // Agrega un dato al inicio del array array_unshift($courses, 'PHP'); echo "<pre>"; print_r($courses); echo "</pre>"; // Agregar un dato al final del array array_push($courses, 'Flutter'); echo "<pre>"; print_r($courses); echo "</pre>"; $courses_tech = [ 'Back-End'=>'php', 'Front-End'=>'js', 'Framework'=>'laravel', ]; // Intercambiar keys y valores echo "<pre>"; print_r(array_flip($courses_tech)); echo "</pre>"; ```\<?php $courses = \['php', 'js', 'laravel']; *// Ordenar array*sort($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Ordenar array de manera descendente*rsort($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// ordenar por la key de manera ascendente*ksort($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Ordena por la key de manera descendente*krsort($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Quitar un elemento de un array*echo "\<pre>";print\_r(array\_slice($courses, 1));echo "\</pre>"; *// Separar un array*echo "\<pre>";print\_r(array\_chunk($courses, 2));echo "\</pre>"; *// Eliminar primer key del array:*array\_shift($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Eliminar el ultimo elemento del array*array\_pop($courses);echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Agrega un dato al inicio del array*array\_unshift($courses, 'PHP');echo "\<pre>";print\_r($courses);echo "\</pre>"; *// Agregar un dato al final del array*array\_push($courses, 'Flutter');echo "\<pre>";print\_r($courses);echo "\</pre>"; $courses\_tech = \[ 'Back-End'=>'php', 'Front-End'=>'js', 'Framework'=>'laravel',]; *// Intercambiar keys y valores*echo "\<pre>";print\_r(array\_flip($courses\_tech));echo "\</pre>";
<?php $courses = [ 4=>'PHP', 22 => 'JavaScript', 5=>'Java', 123=>'GO', 0=>'Rust' ]; ksort($courses); print("\n\n##### Sorted array by key #####\n"); print_r($courses); print("\n\n##### Chunk array #####\n"); print_r(array_chunk($courses, 2)); print("\n\n##### Delete an item from an array #####\n"); print_r(array_slice($courses, 1, preserve_keys:true)); print("\n\n##### Delete the first item from an array and return it #####\n"); print_r("Deleted item: ".array_shift($courses)); print("\n\n##### Add an item to the beginning of an array #####\n"); print_r("Lenght of array: ".array_unshift($courses, 'Rust')); print("\n\n##### Delete the last item from an array and return it #####\n"); print("Deleted item: ".array_pop($courses)); print("\n\n##### Add an item to the end of an array #####\n"); print("Lenght of array: ".array_push($courses, 'GO')); $courses2 = [ 'back-lang'=>'PHP', 'front-language' => 'JavaScript', 'services-lang'=>'Java', 'cloud-lang'=>'GO', 'new-lang'=>'Rust' ]; print("\n\n##### Flip keys and values #####\n"); print_r(array_flip($courses2));
Confunde un poco usar el array_slice despues del krsort y luego marcar con comentarios que el que debía salir era el que tiene de valor "php"
les dejo mis apuntes por si los quieren guardar en un archivo php :)
<?php $courses = ['PHP', 'JavaScript', 'Laravel']; $cursos = [ 10 => 'PHP', 100 => 'JavaScript', 1000 => 'Laravel' ]; sort($courses); echo "sort: Ordena el array <br>"; echo "<pre>"; var_dump($courses); echo "<br>"; rsort($courses); echo "rsort: Ordena el arrayen orden inverso <br>"; var_dump($courses); echo "<br>"; ksort($cursos); echo "ksort: Ordena respecto a las llaves <br>"; var_dump($cursos); echo "<br>"; krsort($cursos); echo "krsort: Ordena en el orden inverso respecto a las llaves <br>"; var_dump($cursos); echo "<br>"; echo "array_slice: Extrae una parte del array <br>"; var_dump(array_slice($cursos, 1)); echo "<br>"; echo "array_chunk: Divide el array en fragmentos <br>"; var_dump(array_chunk($courses, 2)); echo "<br>"; echo "array_shift: elimina el primer elemento del array y lo retorna <br>"; var_dump(array_shift($courses)); echo "<br>"; echo "array_pop: elimina el ultimo elemento del array y lo retorna <br>"; var_dump(array_pop($courses)); echo "<br>"; echo "array_unshift: agrega un elemento al incio del array y retorna la cantidad de elementos <br>"; var_dump(array_unshift($courses, 'php')); echo "<br>"; echo "array_push: agrega un elemento al incio del array y retorna la cantidad de elementos <br>"; var_dump(array_push($courses, 'JavaScript')); echo "<br>"; echo "array_flip: cambia los keys por los valores <br>"; var_dump(array_flip($cursos)); echo "<br>";
🍃Aquí está una lista de funciones para manipular arrays en PHP, con una breve explicación de su uso:
array_keys: Devuelve una matriz que contiene todas las claves de un array.array_values: Devuelve una matriz que contiene todos los valores de un array.array_merge: Combina varios arrays en uno solo.array_diff: Devuelve una matriz que contiene las claves y valores que no están presentes en otro o más arrays.array_intersect: Devuelve una matriz que contiene las claves y valores que están presentes en todos los arrays.array_slice: Devuelve una porción de un array como una nueva matriz.array_splice: Agrega o elimina elementos de un array y devuelve los elementos eliminados como una nueva matriz.array_search: Devuelve la clave de un valor en un array o false si no se encuentra.array_unique: Devuelve una matriz que contiene solo valores únicos.array_reverse: Devuelve una matriz con los elementos en orden inverso.array_map: Aplica una función a cada elemento de un array y devuelve una nueva matriz con los resultados.array_reduce: Aplica una función acumuladora a cada elemento de un array y devuelve un valor único resultante.array_filter: Filtra los elementos de un array según una condición y devuelve una nueva matriz con los elementos que cumplen la condición.array_sum: Devuelve la suma de los valores de un array numérico.sort: Ordena los elementos de un array.array_pop: Elimina el último elemento de un array y devuelve su valor.array_unshift: Agrega uno o más elementos al principio de un array.array_push: Agrega uno o más elementos al final de un array.array_flip: Invierte las claves con sus valores en un array.Estas son solo algunas de las muchas funciones disponibles en PHP para manipular arrays. Es importante revisar la documentación de PHP para conocer todas las opciones disponibles y elegir la mejor solución para cada caso específico. Les dejo la documentación oficial. https://www.php.net/manual/es/ref.array.php