Open In App

What is the difference between var_dump() and print_r() in PHP ?

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss the difference between var_dump() and print_r() function in PHP.

var_dump() Function: The var_dump() function is used to dump information about a variable that displays structured information such as the type and value of the given variable.

Syntax:

void var_dump ($expression)

Parameters:

  • $expression: It can be one single variable or an expression containing several space-separated variables of any type.

Return Value: This function has no return type.

 

Example: PHP code that demonstrates the working of var_dump() function.

PHP




<?php
  
// Using var_dump function on
// different data type variables
var_dump(var_dump(45, 62.1, TRUE, 
    "sravan", array(1, 2, 3, 4,5,6))
);
  
?>


Output:

int(45) float(62.1) bool(true) string(6) "sravan" array(6) 
{ [0]=> int(1) [1]=> int(2) [2]=> int(3) 
  [3]=> int(4) [4]=> int(5) [5]=> int(6) } NULL

print_r() Function: The print_r() function is a built-in function in PHP and is used to print information stored in a variable.

Syntax:

print_r( $variable, $isStore )

Parameters: This function accepts two parameters as shown in the above syntax and described below.

  • $variable: This parameter specifies the variable to be printed and is a mandatory parameter.
  • $isStore: This is an optional parameter. This parameter is of the boolean type whose default value is FALSE and is used to store the output of the print_r() function in a variable rather than printing it. If this parameter is set to TRUE then the print_r() function will return the output which it is supposed to print.

Return Value: If the $variable is an integer or a float or a string, the function prints the value of the variable. If the variable is an array the function prints the array in a format that displays the keys as well as values, a similar notation is used for objects. If the parameter $isStore is set to TRUE, then the print_r() function will return a string.

Example: PHP code to display all data type variables using print_r() function.

PHP




<?php
  
  // String variable
  $a = "Welcome to GeeksforGeeks";
  
  // Integer variable
  $b = 450;
  
  // Array variable
  $arr = array('0' => "Computer"
               '1' => "science"
               '2' => "portal");
  
  // Printing the variables
  print_r($a);
  echo"\n<br>";
  print_r($b);
  echo"\n<br>";
  print_r($arr);
?>


Output:

Welcome to GeeksforGeeks 
450
Array ( [0] => Computer [1] => science [2] => portal )

Difference between var_dump() and print_r() functions:

                                      var_dump()                                       print_r()
var_dump() displays values along with data types as output. print_r() displays only value as output.
It does not have any return type. It will return a value that is in string format.
The data returned by this function is difficult to understand. The data returned by this function is human-readable.
This function can be used for debugging purposes. This function is used with database and web applications.
var_dump() will display the number of elements in a variable. print_r() will not display the number of elements in a variable.
var_dump() will display the length of the variable. print_r() will not display the length of the variable.


Last Updated : 22 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads