Open In App

What is the difference between echo, print, and print_r in PHP?

Improve
Improve
Like Article
Like
Save
Share
Report

echo: echo is not a function rather it is described as a language construct. It accepts an list of argument (multiple arguments can be passed) and returns no value or returns void. It cannot be used as a variable function in PHP. It is used to display the output of parameters that is passed to it. It display the outputs one or more strings separated by commas.

Example:




<?php
  
// PHP program to illustrate echo
  
// Declare variable and initialize it.
$x = "GeeksforGeeks ";
$y = "Computer science portal";
  
// Display the value of $x
echo $x, $y;
?>


Output:

GeeksforGeeks Computer science portal

print: It is not a real function. it is a language construct but always returns the value 1. So it can be used as an expression. Unlike echo, print accepts only one argument at a time. It cannot be used as a variable function in PHP. The print outputs only the strings. It is slow compared to that of echo.
Example:




<?php
  
// PHP program to illustrate echo
  
// Declare variable and initialize it.
$x = "GeeksforGeeks";
  
// Display the value of $x
print $x;
?>


Output:

GeeksforGeeks

print_r(): print_r() is a regular function. It outputs the detailed information about the parameter in a format with its type (of an array or an object), which can be easily understandable by humans. In this function the output get stored on the internal buffer when the return parameter is passed. If pass the return parameter to TRUE, print_r() would return the complete information rather than just print it. During walk-through this function helps in identifying any of the glitches while executing the program. It is more similar to the var_dump() function.
Example:




<?php
  
// PHP program to illustrate echo
  
// Declare an array
$arr = array('0' => "GeeksforGeeks",
             '1' => "Computer"
             '2' => "Science",
             '3' => "Portal");
  
// Display the value of $x
print_r($arr);
?>


Output:

Array
(
    [0] => GeeksforGeeks
    [1] => Computer
    [2] => Science
    [3] => Portal
)

Example:




<?php
  
$a = "GeeksforGeeks";
$b = array('0' => "Geeks", '1' => "for", '2' => "Geeks");
$c = 3.14;
$d = 7;
  
// Single argument
print "\n$a\n";
  
// Multiple argument
echo $c + $d . "\n";
  
// Return with internal output buffering
print_r($b);
?>


Output:

GeeksforGeeks
10.14
Array
(
    [0] => Geeks
    [1] => for
    [2] => Geeks
)


Last Updated : 12 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads