Laravel dd() vs dump() vs var_dump() vs print_r() with Example

To debug in PHP we use var_dump(), print_r() methos. Laravel provides a function to debug is called dd(). In this article, we are going to see the differences between these functions.

Table of Contents

  1. dd()
  2. dump()
  3. var_dump()
  4. print_r()


It stands for Dump and Die. The dd() is a helper function to dump a variable’s contents to the browse. It also stops further script execution. Let’s print user data using dd():

$users = User::all();

The output looks like:

We’re seeing 3 users in array. If we expand one user array, we’ll get output like:

We’ll get user info at attributes or original section.


The dump() method like similar to dd(). But it executes further code. Here’s an example:

$users = User::all();

echo "shouts";

The output:


It is a built-in function of PHP. The var_dump() function shows structured information about variables/expressions including its data type and value of the variable. The array and object are explored recursively with values to show their structure.

$users = User::find(1);

We can see now:


The print_r() shows human-readable information about the values with a format presenting keys and elements for arrays and objects.

$users = User::find(1);

But it’s better to use <pre></pre> to see better view:

$users = User::find(1);
echo "<pre>";
echo "</pre>";

That’s all, artisans. Thanks for reading.