Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

php
echo
print
communitycreator

What are echo and print in PHP?

Abel Lifaefi Mbula

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Overview

In PHP, we use either echo or print to output strings. In this shot, we'll learn how and when to use these two PHP concepts.

Understanding echo and print

The echo and print displays output data to the screen. But there are a few differences between them:

  • echo accepts multiple parameters. print only takes one, but concatenation is possible.
  • echo does not have a return value, and print always has a return value 1.
  • echo is faster than print because it has no return value.
  • print can be used in a more complex expression because it has a return value.
  • echo has a shortcut syntax: <?=my string?>.

Now, let’s look at some examples.

Note: echo and print are not functions. They are language constructs (those things that make a language, like if, for...). There's no need to use parentheses () with them.

Examples with echo

<?php
echo "<h1>Educative, Inc</h1>";
echo "<p>This is Educative. The best place to learn!</p>";
echo '"echo"', " with multiple ", "parameters\n";
$name = "Patience Kavira";
echo "Your name is $name\n";
// Non-string values are coerced to string
echo 5 * 5;
Testing echo

Notice how we use echo in different scenarios.

Let's now see a situation where using echo is not a good option:

<?php
( 1 === 1 ) ? echo 'true' : 'false';
Invalid code

The code above is invalid.

As we said, echo does not behave as an expression. So, it can't be used in this context. To fix this, we can either use print or evaluate the expression first and pass it to echo like this:

echo ( 1 === 1 ) ? 'true' : 'false';

Examples with print

<?php
print "<h1>Educative, Inc</h1>";
print "<p>This is Educative. The best place to learn!</p>";
$name = "Patience Kavira";
print "Your name is $name\n";
// Non-string values are coerced to string
print 5 * 5;
// print in the context of expressions
if ( print " Abel" )
echo " Sarah is out!\n";
( 1 === 1 ) ? print 'true' : print 'false';
Testing print

We also have situations where print is not suitable. Try to run the code below:

<?php
print '"print"', " with multiple ", "parameters?\n";
Invalid code

Running the code above outputs an error message.

This code outputs an error because we pass more than one parameter to print. The solution here is to use either echo or concatenation like this:

print '"print"' . ' with multiple' . ' parameters?\n';

RELATED TAGS

php
echo
print
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring