PHP - Echo and Print



PHP uses the echo and print statements to display output in the browser or the PHP console. Both are language structures rather than functions, indicating that they are part of the PHP language. As a result, using parentheses is optional. These instructions are commonly used to display text, numbers, variables and even HTML content directly on a website. While they serve the same purpose there are some small differences between them. Echo can accept several parameters and is faster than print, which returns a result of 1, making it suitable to use in expressions.

What is Echo?

Echo is a PHP statement that displays data. It does not return a value but can produce multiple values at once.

Syntax

The echo statement is used with following syntax −
echo(string ...$expressions): void

The echo statement outputs one or more expressions, with no additional newlines or spaces.

Basic Usage of echo in PHP

Here is an example of how the echo statement works in PHP −

<?php
   $name = "Rahul";
   echo "Hello " . $name . " How are you?"
?>

Output

It will produce the below outcome −

Hello Rahul How are you?

Using Single-Quoted String in echo

Since a double quoted string is similar to a single quoted string in PHP, the following statement produces the same output.

<?php
   echo 'Hello ' . $name . ' How are you?';
?>

Using Double-Quoted String in echo

A double quoted string outputs the value of the variable. Hence, the following statement inserts the value of "$name" variable before printing the output.

<?php
   $name = "Rahul";
   echo "Hello $name How are you?";
?>

Output

It will produce the following result −

Hello Rahul How are you?

Single-Quoted String Treats Variables as Plain Text

But, a single-quoted string will output "$name" as it is.

<?php
   $name = "Rahul";
   echo 'Hello $name How are you?';
?>

Output

It will produce the following output −

Hello $name How are you?

Passing Multiple Arguments in echo

A string passed to an echo statement can either be passed individually as multiple arguments or concatenated together and passed as a single argument. So, both the following statements are valid −

<?php
   echo 'Hello ', 'how ', 'are ', 'you?', "\n";
   echo 'Hello ' . 'how ' . 'are ' . 'you?' . "\n";
?>

Output

Here is the output of the above example −

Hello how are you?
Hello how are you?

Successive echo Statements Without a Newline

Note that output of the two successive echo statements will be rendered in the same line if the newline character is not used. Take a look at the following example −

<?php
   echo "hello";
   echo "world";
?>

Output

It will generate the below result −

helloworld

What is Print?

The PHP print statement is the same as the echo statement and can be used to replace it several times. It is also a language construct, thus we can not use parenthesis, like print or print().

The major difference is that the print statement in PHP accepts a single argument only and always returns 1.

Syntax

The print statement is similar to echo, but it outputs an expression. Check the syntax below −

print(string $expression): int

Basic Usage of print in PHP

Take a look at the basic usage of the print in PHP −

<?php
   $name = "Rajesh";

   print "Hello " . $name . " How are you?\n";
   print "Hello $name How are you?";
?>

Output

Following is the output of the above code −

Hello Rajesh How are you?
Hello Rajesh How are you?

Output Multiline Strings Using Print

Both echo and print statements can output multiline strings spanning over more than one lines in the editor. Take a look at the following example −

<?php
   print "
   Multi-line
   string can be output  
   by echo as well as 
   print statement in PHP
   ";  
?>

Output

This will create the below output −

Multi-line
string can be output
by echo as well as
print statement in PHP

The output will remain the same if we replace print with echo.

Echo vs Print: Key Differences

Below are the key differences of echo and print in a tabular form −

Feature Echo Print
Speed Faster Slower
Return Value No Yes (1)
Multiple Arguments Yes No

When to Use Echo or Print?

In most cases, use "echo" over "print" in PHP as it is considered to be faster, can output multiple strings at once separated by commas and does not return a value, making it more efficient for simple text display; whereas "print" is better suited for situations where a return value is required within an expression because of its "1" return value and can only output a single string at a time.

Conclusion

Both echo and print are effective methods for presenting data in PHP. Echo is frequently preferred for faster performance, but print is useful when a return value is necessary.

Learning their differences helps you to use them more effectively in PHP projects.

Advertisements