Funciones básicas en PHP: echo y print

En PHP tenemos algunas funciones nativas que usaremos a menudo. Las dos que veremos en este artículo no son realmente funciones sino constructores del lenguaje, por lo que no se requiere el uso de paréntesis con ellas.

Cuando obtenemos el resultado de una variable, de una función, o para escribir texto hay que pintarlo en el navegador, eso es lo que hacen estas funciones (o constructores), pintar.

echo

Empezamos con echo, que nos sirve para pintar una o más cadenas de texto:

<?php
 echo "¡Hola mundo!";
?>
¡Hola mundo!

El código PHP debe ir siempre entre las etiquetas de apertura ?php y de cierre ?>, excepto si el archivo contiene sólamente código PHP, en cuyo caso es mejor omitir la etiqueta de cierre para prevenir la adición de espacios en blanco o nuevas líneas accidentales (tenéis más info sobre esto en php.net).

En los siguientes ejemplos se omitirán las etiquetas de apertura y cierre para simplificarlos.

También podemos pintar $variables:

$numeros=1234;
echo "La cantidad es: ";
echo $numeros;
La cantidad es: 1234

Como se ve en el ejemplo anterior para pintar el valor de una variable no es necesario poner las comillas, pero si la variable va entre comillas dobles también se mostrará su valor:

$numeros=1234;
echo "La cantidad es: $numeros";
La cantidad es: 1234

Para pintar el nombre de la variable en lugar de su valor esta debe ir entre comillas simples, así:

$numeros=1234;
echo 'El nombre de la variable es: $numeros';
El nombre de la variable es: $numeros

Un echo también puede tomar expresiones múltiples, por ejemplo:

echo "azul ", "rojo ", "verde ";
azul rojo verde

Por ultimo la concatenación, que suena muy raro pero no es más que poner cadenas y variables en la misma sentencia. Es realmente útil porque nos ahorra tener que hacer múltiples peticiones al servidor, reduciendo así el tiempo de carga.

Concatenar parámetros en PHP se hace con puntos . , de la siguiente manera:

$numeros=1234;
echo "La cantidad es: " . $numeros . " usuarios";
La cantidad es: 1234 usuarios

print

La función print, al igual que echo, tampoco es una función sino un constructor de lenguajes.

La diferencia es que print se puede utilizar como parte de una expresión más compleja, donde el echo no se podría aplicar, ya que que print puede retornar un valor true o false y echo no.

Lo malo de print es la velocidad, es mucho más lento que echo, y tampoco puede tomar expresiones múltiples.  Por lo demás, los dos hacen prácticamente lo mismo:

$numeros=1234;
print "La cantidad es: ";
print $numeros;
La cantidad es: 1234

Tenéis mucha más información acerca de echo y de print en la documentación de php.net.