Saltar al contenido
MundoCursos

¿Cómo imprimir un array en PHP?

Los arrays son mapas de datos en los que se asocian valores con claves y que resultan fundamentales en la experiencia de uso que proporciona el lenguaje PHP. Son, al mismo tiempo, un elemento en el cual es habitual encontrarse con un mar de datos difíciles de leer, en especial cuando el tamaño del array es considerable.

Por ello, es importante que sepas cómo imprimir un array en PHP de forma legible, aportándote la capacidad de leerlo con sencillez y sin tener que dejarte los ojos intentando separar los datos del código. En esta guía te explicaremos cómo puedes hacerlo con distintos métodos.

Imprimir un array de PHP con la función var_dump

Esta función la vas a utilizar para visualizar el contenido que hay en una variable e incluyendo todos los valores que tenga sin dejarse ninguno de los tipos. Lo bueno de esta función es que se imprimen el valor que tiene la array en su índice, los tipos de elemento e incluso la longitud. Todo está bien estructurado gracias a la incorporación de esta sintaxis:

var_dump($variableName)

Así, lo que estás haciendo es usar una variable única y reflejando la estructura que tenga esta. Por ejemplo, el resultado de su aplicación podría ser:

<?php

//Declare the array

$comidas = array("Pizza","Hamburguesa","Cocido","Pasta","Fruta");

//Print the structure of the array with data type

var_dump($comidas);

?>

Estarías usando la array “comidas”, Y el resultado que nos daría sería el siguiente:

array(5) {
  [0]=>
  string(5) "Pizza"
  [1]=>
  string(11) "Hamburguesa"
  [2]=>
  string(6) "Cocido"
  [3]=>
  string(5) "Pasta"
  [4]=>
  string(5) "Fruta"
}
¿Te gustaría aumentar tus conocimientos en PHP?

Está claro que ser autodidacta es una de las mejores cualidades que podría tener cualquier programador.

Sin embargo, si quieres acelerar al máximo tu aprendizaje, te recomendamos que veas esta lista con los mejores cursos de PHP online. Los hemos seleccionado y analizado minuciosamente para ayudarte a elegir el mejor para ti.

Imprimir un array de PHP con la función print_r()

De lo que trata el uso de la función print_r() es de conseguir que la visualización de los datos sea más sencilla para los usuarios. Eso es justo lo que estamos buscando en este caso. La forma de conseguirlo es visualizando los valores que tiene el array con una estructura en la cual claves y valores se ven con facilidad. A la hora de imprimir, los valores aparecen con el número que les corresponde en el índice. Usa este código para sacarle partido:

print_r($variableName, $boolVariable)

Como puedes ver, la función incorpora dos parámetros: $variableName y $boolVariable. El primero es obligatorio y marcará el valor que se va a imprimir, mientras que el $bool es opcional. Puedes cambiar entre valor “false” y “true” dependiendo de lo que necesites. En el caso de elegir “true”, la función actuará con el valor que se está imprimiendo.

Siguiendo con el ejemplo del anterior apartado, el código sería este:

<?php

//Declare the array

$comidas = array("Pizza","Hamburguesa","Cocido","Pasta","Fruta");

//Print the structure of the array with data type

print_r($comidas);

?>

La visualización que nos daría la función para imprimir sería esta:

Array
(
    [0] => Pizza
    [1] => Hamburguesa
    [2] => Cocido
    [3] => Pasta
    [4] => Fruta
)

Imprimir un array de PHP con el bucle foreach

Es posible que hayas pensado que los dos únicos métodos para hacer la impresión del array de PHP son los que te hemos detallado antes. Lo cierto, es que son los sistemas más utilizados. Pero no son los únicos. También puedes usar el bucle foreach para conseguirlo. Este bucle se cuela entre todos los elementos que hay en el array, permitiendo su ordenación de una forma simplificada. En la práctica, aunque no hayas pensado en este sistema, puede ser una muy buena idea.

Usa este código:

foreach( $arrayName as $variableName ) {

    // action to perform

}

Como comprobarás, el los $arrayName están asignados a $variableName, creando un proceso de iteración que ayuda a que se puedan visualizar los datos tal y como necesitamos. Siguiendo con el ejemplo anterior tenemos este código final en el que aplicar el uso del bucle foreach con la información del array que estamos replicando en cada caso:

<?php

//Declare the array

$comidas= array("Pizza","Hamburguesa","Cocido","Pasta","Fruta");

echo "The array is:\n";

//Prints the array

foreach($comidas as $comida){

    echo $comida. "\n";

}

?>

De esta forma, el foreach se ocupará de dividir las distintas entradas del array para colocarlas en una lista ordenada que se pueda visualizar con facilidad. El resultado será el siguiente:

The array is:
Pizza
Hamburguesa
Cocido
Pasta
Fruta

¿Cómo lograr que los datos de la array se visualicen más claramente?

Incluso usando los métodos que te hemos detallado antes, la visualización será mejorable. Se podría hacer más clara y que hubiera menos elementos por el medio que interrumpieran. Al fin y al cabo, si estás pensando en imprimir, querrás ver la menor cantidad de código posible.

Este recurso es especialmente recomendable cuando tu array no es simplemente un listado y dispone, en realidad, de subelementos que harían que la información fuera menos digerible.

Lo que tienes que hacer es recurrir a un código muy simple que hará maravillas en el momento en el que lo uses como punto de inicio y de final de la función. Se trata de la etiqueta de apertura <pre> y de la de cierre </pre>. Para colocarlas entre el código que te hemos indicado antes, tendrás que usar echo. Fíjate en cómo se visualiza cuando lo pones en “print_r”.

echo('<pre>');

print_r($comidas);

echo('</pre>');

/* Resultado:

Array

(

    [0] => Array

        (

            [0] => Pizza

            [1] => con tomate

            [2] => Array

                (

                    [0] => Plato completo

                    [1] => Fácil de preparar

                    [2] => De origen italiano

                )

        )

    [1] => Array

        (

            [0] => Hamburguesa

            [1] => con queso

            [2] => Array

                (

                    [0] => Casera o de restaurante

                    [1] => Con pan

                    [2] => Puede tener extras como cebolla y lechuga

                )

        )

    [2] => Array

        (

            [0] => Cocido

            [1] => de Madrid

            [2] => Array

                (

                    [0] => Para el invierno

                    [1] => Comida consistente

                    [2] => Sabor de la tierra

                )

        )

    [3] => Array

        (

            [0] => Pasta

            [1] => carbonara

            [2] => Array

                (

                    [0] => Con huevo

                    [1] => Ideal si no quieres tomate

                    [2] => Muy equilibrada

                )

    [4] => Array

        (

            [0] => Fruta

            [1] => para postre

            [2] => Array

                (

                    [0] => Todo tipo de opciones

                    [1] => Fresa, naranja o melón

                    [2] => Confitada, en sorbete o en pieza

                )

        )

)

*/

Si usas las etiquetas entre la función var_dump el resultado será el siguiente, el cual resulta un poco menos visible que el anterior, pero sin duda convincente.

echo('<pre>');

var_dump($comidas);

echo(‘'</pre>');

/* Resultado:

array(4) {

  [0]=>

  array(3) {

    [0]=>

    string(7) "Pizza"

    [1]=>

    string(6) "Megane"

    [2]=>

    array(3) {

      [0]=>

      string(9) "5 puertas"

      [1]=>

      string(6) "Diesel"

      [2]=>

      string(4) "Rojo"

    }

  }

  [1]=>

  array(3) {

    [0]=>

    string(4) "Opel"

    [1]=>

    string(5) "Corsa"

    [2]=>

    array(3) {

      [0]=>

      string(9) "3 puertas"

      [1]=>

      string(8) "Gasolina"

      [2]=>

      string(4) "Gris"

    }

  }

  [2]=>

  array(3) {

    [0]=>

    string(4) "Seat"

    [1]=>

    string(5) "Ibiza"

    [2]=>

    array(3) {

      [0]=>

      string(9) "5 puertas"

      [1]=>

      string(6) "Diesel"

      [2]=>

      string(5) "Verde"

    }

  }

  [3]=>

  array(3) {

    [0]=>

    string(4) "Audi"

    [1]=>

    string(2) "TT"

    [2]=>

    array(3) {

      [0]=>

      string(9) "3 puertas"

      [1]=>

      string(8) "Gasolina"

      [2]=>

      string(8) "Plateado"

    }

  }

}

*/

La utilidad que tiene el uso de estas etiquetas se aprecia mejor cuando estás trabajando con listas que sean profundas, que tengan multitud de datos y que, de otra manera, llegarán a producirte serios problemas para ubicar la información.