Dar la vuelta a un array en php

Dar la vuelta a un array en php

Para dar la vuelta a un array en php tenemos dos opciones básicas:

  • Programar nosotros una función que lo haga.
  • Utilizar una función nativa de PHP que resuelva nuestro problema.

Por qué usar la función nativa de PHP

Las funciones de PHP están optimizadas y revisadas para ser las más eficaces y eficientes. Así, si existe una función sencilla que haga por nosotros la acción de dar la vuelta a un array en php, la opción más acertada es usar dicha función.

Cómo dar la vuelta a un array en php

La función de la que hablaba es array_reverse. A continuación podemos ver que acepta dos parámetros: el primero es el array a tratar y el segundo es una opción para mantener o no las claves numéricas que acompañan a los valores almacenados en el array. El array inverso es devuelto por la función.

Uso de array reverse

Entender mejor el funcionamiento de array_reverse

Imagina que tienes el siguiente array en PHP:

$mi_array = array(13, 84, 125);

Si quieres darle la vuelta tendrías que hacer lo siguiente:

$mi_array = array_reverse($mi_array);

Acabas de dar la vuelta a un array en php. El resultado por tanto es un array con los siguientes valores: [125, 84, 13]. Es decir, en la posición cero está el número 125, en la posición uno está el 84 y en la posición dos el número 13.

Ahora imagina que quieres darle la vuelta al array, pero manteniendo fijas las claves numéricas. Es decir, que la clave 2 apunte al 13, la clave 1 al 84 y la clave 0 al 125. Ahora es cuando tendrías que utilizar el segundo parámetro que, por defecto, realiza la acción que he descrito en primero lugar.

Al utilizar $mi_array = array_reverse($mi_array, true), lo que se consigue es que el array quede dado la vuelta pero, como decía, la clave númerica 2 apuntará todavía al 13, la clave númerica 1 al 84 y la número 0 al 125.

Saber más sobre cómo dar la vuelta a un array en php

Por si os sirve de algo, os dejo el enlace a la documentación de PHP donde habla acerca de dar la vuelta a un array. Puedes pinchar aquí para verlo.