What is the difference between “echo” and “print” in PHP?

Echo can output one or more string but print can only output one string and always returns 1.

Echo is faster than print because it does not return any value.

In PHP, both echo and print are used to output strings or variables. However, there are some differences between them:

  1. Syntax:
    • echo is a language construct, so it doesn’t require parentheses. For example: echo "Hello World";
    • print is a function and therefore requires parentheses. For example: print("Hello World");
  2. Return Value:
    • echo can take multiple parameters and does not return a value. It outputs each of its parameters separated by spaces.
    • print takes only one argument and returns 1, so it can be used in expressions.
  3. Performance:
    • echo is generally considered to be slightly faster than print, but the difference is usually negligible.

Here’s an example demonstrating the differences:

php
<?php
// Using echo
echo "Hello", " ", "World"; // Outputs: Hello World

// Using print
print("Hello World"); // Outputs: Hello World

// Store result of print in a variable
$result = print("Hello World"); // Outputs: Hello World
echo $result; // Outputs: 1
?>

In summary, while both echo and print serve similar purposes, they have minor differences in syntax, return values, and performance. Typically, developers choose echo for simplicity and performance unless the return value of print is specifically needed.