Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags


What are echo and print in PHP?

Abel Lifaefi Mbula


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


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:


( 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


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:


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';



View all Courses

Keep Exploring