Todos se preguntarán porque en php existen dos comandos para imprimir una salida (output), y que hacen (o así parece) la misma cosa. Echo y Print ambos retornan a la pantalla lo mismo, entonces ¿Para qué tener dos diferentes constructores de lenguaje para lo mismo?
Bueno, la respuesta es muy simple pero confusa, la diferencia radica en que aunque print no es una función, «se porta como una!«, por lo que cuando realices un print devolverá 1 en caso de se realice la acción o 0 en caso de que no, mientras que echo es del tipo void, por lo que no retorna ningún valor.
Entonces analicemos cada uno por separado para entender mejor:
ECHO
- Soporta varios parametros:
-
echo "Hola","soy","un","echo","multiple";
- Es un poco más rápido que print.
- Se pueden escapar caracteres usando la barra invertida \ antes
-
echo "
Hola, soy Rojo!
"; - Al usar comillas simples se mostrará el nombre de la variable, no su valor
-
$apellido = 'Obama'; echo 'Hola, $pellido !'; // Devolverá -> Hola, $apellido ! echo "Hola, $pellido !"; // Devolverá -> Hola, Obama !
- Al poder comportarse como una función puede usarse en ambientes en el que echo produciría un errro, tales como:
-
#Ejemplo 1 while (print "soy un bucle infinito") { } // Equivale a while (1) (bucle infinito) y estaríamos mostrando siempre la cadena indicada. #Ejemplo 2 $array=file("archivo.txt") and print "Archivo abierto con éxito"; #Ejemplo 3 $n = 0; while (//condicion) { //accion if(//condicion){ $a += print 'Se ha dado la condición'; } } echo "La condición se dio $n veces"; #Ejemplo 4 if (print("foo") && print("bar")) { // "foo" y "bar" se han impreso }
- Se pueden escapar caracteres usando la barra invertida \ antes
-
print "
Hola, soy Rojo!
"; - Al usar comillas simples se mostrará el nombre de la variable, no su valor
-
$apellido = 'Obama'; print 'Hola, $pellido !'; // Devolverá -> Hola, $apellido ! print "Hola, $pellido !"; // Devolverá -> Hola, Obama !
Como vimos, la diferencia radica en que print se puede usar como una función por lo que se pueden usar en campos más amplios que echo, y que de hecho «echo» no devuelve una valor por lo que se ejecuta un poco más rápido aunque no sea mucho la diferencia, así que ustedes formulen sus propias conclusiones, pero en lo particular ya sabrán cuando usar echo y print para optimizar su aplicación php.