Print an array with PHP (+ Laravel)

Print an array with PHP (+ Laravel)

Modified
Jun 24, 2023
Written by
Benjamin Crozat
0
comments
2 minutes
read

Introduction to printing arrays in PHP

There are multiple ways to print the content of an array in PHP like var_dump(), print_r(), var_export(), and even json_encode().

Let me review each of them in this article.

print_r() displays arrays in a human-readable format.

Example:

print_r(['Foo', 'Bar', 'Baz']);

Output:

Array
(
    [0] => Foo
    [1] => Bar
    [2] => Baz
)

If you need to capture the output instead of echoing it, you can pass a second parameter to print_r():

$output = print_r(['Foo', 'Bar', 'Baz'], true);

var_dump() prints information about any type of value. It works great for arrays too!

Example:

var_dump(['Foo', 'Bar', 'Baz']);

Output:

array(3) {
  [0]=>
  string(3) "Foo"
  [1]=>
  string(3) "Bar"
  [2]=>
  string(3) "Baz"
}

You can also print an infinite number of variables at once:

var_dump($foo, $bar, $baz, …);

var_export() prints a parsable string representation of a variable that you could just copy and paste into your source code.

Example:

$array = ['Foo', 'Bar', 'Baz'];

var_export($array);

Output:

array (
  0 => 'Foo',
  1 => 'Bar',
  2 => 'Baz',
)

json_encode() can print arrays as JSON.

Example:

$array = ['Foo', 'Bar', 'Baz'];

echo json_encode($array);

Output:

["Foo","Bar","Baz"]

Screenshot of dump() in action.{: width=“400”}

The dump() function prints in detail arrays containing any value.

$array = ['Foo', 'Bar', 'Baz'];

dump($array);

And just like var_dump(), it accepts an infinite number of arguments:

dump($a, $b, $c, $d, $e, …);

The dd() function does the same thing as dump(), but stops code execution.

$array = ['Foo', 'Bar', 'Baz'];

dd($array);

It also accepts an infinite number of arguments:

dd($a, $b, $c, $d, $e, …);
About Benjamin Crozat
Benjamin Crozat

Hi! I’m from the South of France and I’ve been a self-taught web developer since 2006. When I started learning PHP and JavaScript, PHP 4 was still widely used, Internet Explorer 6 ruled the world, and we used DHTML to add falling snow on websites.

Being able to educate myself for free on the web changed my life for the better. Giving back to the community was a natural direction in my career and I truly enjoy it.

Therefore, I decided to take action:

  1. I launched this blog in September 2022 with the goal to be in everyone’s Google search. I get more than tens of thousands of monthly clicks from it and even more visits overall (my analytics dashboard is public by the way).
  2. I also started growing my X (formerly Twitter) account at the same time, which has now over 7,000 followers.
  3. All the content I write is free thanks to my sponsors.

I also want to be completely free with my time and make a living with my own products. In April 2024, I launched Nobinge, a tool to summarize and chat with your content, including YouTube videos.

Believe me, I’m just getting started!

0 comments

You need to be signed in to comment this post.
Sign in with GitHub