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:
1 2 3 |
<?php echo "¡Hola mundo!"; ?> |
También podemos pintar $variables:
1 2 3 4 5 |
<?php $numeros=1234; echo "La cantidad es: "; echo $numeros; ?> |
Como se vé 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:
1 2 3 4 |
<?php $numeros=1234; echo "La cantidad es: $numeros"; ?> |
Para pintar el nombre de la variable en lugar de su valor esta debe ir entre comillas simples, así:
1 2 3 4 |
<?php $numeros=1234; echo 'El nombre de la variable es: $numeros'; ?> |
Un echo
también puede tomar expresiones múltiples, por ejemplo:
1 2 3 |
<?php echo "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 de la siguiente manera:
1 2 3 4 |
<?php $numeros=1234; echo "La cantidad es: " . $numeros . " usuarios"; ?> |
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 expresó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 lo mismo:
1 2 3 4 5 |
<?php $numeros=1234; print "La cantidad es: "; print $numeros; ?> |
Tenéis mucha más información acerca de echo
y de print
en la documentación de PHP.