Arrays en PHP: Funciones de array básicas

En PHP hay una gran variedad de funciones de array pero, en este post me centaré en las más básicas. Estas funciones permiten contar los elementos que contiene, ordenarlos, unirlos en un string o incluso crear variables.

Función is_array

Puede darse el caso que pases un parámetro a una función y este pueda ser un valor o un array. Cuando eso sucede puedes usar la función is_array() que te permite comprobar si una variable es un array o no. En este caso empleo la función is_array() en un if abreviado u operador ternario.

Si empleas esta función cuando la variable no tiene asignado un valor, saldrá un mensaje de variable undefined.

Función count

Ya he comentado que un bucle foreach es una buena opción para recorrer un array. Sin embargo, si quieres recorrer un bucle for debes saber cuantos elementos debe tener un array y por ello tienes a disposición la función count(). Esta función cuenta los elementos que contiene un array.

Pero si tienes un array multidimensional, puedes contar todos los elementos que contiene en todos los niveles. Para ello hay un segundo parámetro

Función sort

Está función permite ordenar los elementos de un array de forma automática según su valor

Sin embargo, esta función da la posibilidad de ordenar los elementos de manera numérica o alfabética.

Esto ordenaría de menor a mayor y de a-z respectivamente. Si quieres que ordene al revés, tienes al función rsort():

Función Shuffle

Si quieres sorprender a un usuario puedes emplear esta función que permite ordenar los elementos de un array al azar.

Devuelve TRUE si se ha realizado la ordenación con éxito y FALSE si se ha producido un error.

Función explode

Esta una de las funciones de array bastante útil  y permite coger un string con varios elementos separados por un carácter común (una coma por ejemplo) y coger cada elemento para meterlos en un array. Por ejemplo, tenemos una frase y queremos que cada palabra sea un elemento del array

Y si quimereamos un array en un string, podemos usar la función implode() sólo que en lugar de poner como primer parámetro cual es el carácter que separa, será el que une.

Función extract

Esta función permite convertir parejas de clave/valor de un araay en variables PHP. Si en el array tenemos un índice llamado «detalle» con un valor, mediante extract() se crearía la variable $detalle con su respectivo valor. Hay que tener en cuenta que esta función trabaja solamente con arrays asociativos.

Un ejemplo para usar esta función, sería cuando hacemos submit en un formulario y recogemos los valores mediante $_POST o $_GET. Estos contienen un array asociativo compuesto de cada campo del formulario. Si empleamos extract(), Obtendríamos una variable por cada campo

Otro ejemplo con un array asociativo

Sin embargo, hay que tener cuidado cuando empleamos extract() con $_GET o $_POST ya que podríamos sobrescribir valores existentes. Para evitar eso, podemos añadir un flag a la función

De esta manera las variables que se creen a partir de de $_GET, tendrán el prefijo «formulario1_» quedando $formulario1_detalle por ejemplo.   Esta manera evitaría que usuarios maliciosos que hagan submit en el form escojan sobrescribir variables comúnmente usadas en una página web.

Función compact

La última de las funciones de array que explicaré es compact() que coge un conjunto de variables y los mete en un array asociativo con sus respectivos valores, es decir, es la inversa de extract().

Si te has fijado, en compact no se introduce $ junto con el nombre de la variable. Esto se debe a que compact ya busca las variables en base de los nombre.

Y hasta aquí funciones de array en PHP, espero que les saques partido. A seguir picando 🙂