Usos de print() y echo()

En distintos foros vemos como se recomienda el uso de echo() en vez de print() sin explicar los motivos, incluso he leido recomendaciones de usuarios que tambien leyeron otras recomendaciones en otros foros pero que tampoco explicaban su porque. Esto ha motivado que me decidiera ha desarrollar este tema.


Este artículo, dirigido a los que recien empiezan con el uso de php, comenta las dos maneras de imprimir una página php: Mediante print() y echo(), aquí vemos sus sintaxis, diferencias y recomendaciones, todo con simples ejemplos.

Este artículo esta dirigido a los que recien empiezan con el uso de php, en él comentamos las dos maneras de imprimir una página php: el Uso de print() y echo().


Como sabemos, todo contenido php siempre debe estar dentro de las etiquetas <?php y ?>, por ejemplo:


<?php
contenido de la pagnina.php
?>


Sin embargo, si probamos esto en el navegador, no se mostraría absolutamente nada. Para verlo, necesitamos usar una función que imprima lo que nosotros queremos en el navegador.


Empezaremos entonces con la función print().


Esta función es muy facil de utilizar, inclusive los parentesis no son necesarios. La estructura es la siguiente:


<?php
print ("contenido del php ");
print "con print se muestra el contenido en el navegador!";
?>


Pero no solamente se puede mostrar texto estático, para esto sólo bastaría el html, para lo que en realidad importa es mostrar el valor de las variables. Veamos, primero declaramos una variable y después la imprimimos con la función print().


<?php
$saludo = "hola";
print ( "$saludo = "); //se imprime la variable saludo
print " $saludo ";
?>


Ahora utilicemos la funcion echo().


<?php
$saludo = "hola";
echo ("$saludo = "); //se imprime la variable saludo
echo "$saludo";
?>


Hasta aquí hemos visto que ambas funciones hacen lo mismo, pero ¿Cuál es la diferencia entre las dos? Bien, una diferencia es que el echo() puede tomar expresiones múltiples, por ejemplo:


<?php
echo "uno", "dos", "tres";
?>


mientras el print() no. Sin embargo, se utiliza el print() como parte de una expresón más compleja, donde el echo() no se podría aplicar, debido a que print() puede retornar un valor true o false y el echo() no. Ahora bien, ¿Por qué se recomienda en la mayoria de foros el uso de la función echo()? Pues el principal motivo es la velocidad, el echo() es mucho más veloz que el print(), algunos estiman que hasta en un 50%.


Como ya sabemos como imprimir una pagina web en el navegador, debemos de tener en cuenta que tanto print() como echo() no pueden imprimir las funciones variables. Para esto se necesitará usar una función creada por nosotros que utilice cualquiera de éstas preconstruidas como funciones variables. Por ejemplo:


<?php
function uno() {
echo "En uno() no hay argumento.<br/>\n";
}
function dos("$argumento = '') {
echo "En dos() el argumento es '$argumento'. <br/>\n";
}
$func = 'uno';
$func(); // Lamamos a la función uno
$func = 'dos';
$func('obtenido'); // Llmamos a la funcion dos
?>


En este código declaramos dos funciones simples. Asignamos sus nombres a la variable y ejecutamos ambas funciones usando la misma variable.

w

w

Enviado por q (no verificado) el Jue, 10/12/2006 - 02:58.
por fin conozco las

por fin conozco las diferencias!

Enviado por jaatu (no verificado) el Vie, 03/09/2007 - 14:18.
donde e encuentre el

donde e encuentre el echo... el print siempre genera posibles problemas de hackers

Enviado por lanzarote (no verificado) el Vie, 01/04/2008 - 07:55.
Aquí os dejo una serie de

Aquí os dejo una serie de cinco scripts php5. Entre ellos:

-Obtención de Google Pagerank desde PHP5 usando sockets.

-Auto carga de objetos utilizando la función __autoload de PHP5

-Integrar en tu web marcadores de del.icio.us con cURL y PHP5

Enviado por pedrete (no verificado) el Mar, 09/23/2008 - 08:53.
echo como print funcionan de

echo como print funcionan de igual manera ya que print tambien puede imprimir expresiones múltiples de la misma forma que echo solamente reemplazando las comas (,) por puntos (.)

<?php
echo "uno". "dos". "tres";
?>

Enviado por Kevin (no verificado) el Mié, 10/22/2008 - 13:59.
Lanzarote, aprende a hablar

Lanzarote, aprende a hablar antes de escribir tonterías, por favor. ¿Problemas de hackers? el pobre curioso no encontraba un libro con el que documentarse? ¿No crees que la función por si sola no tiene ningun bug? Informate bien campeón.

Enviado por GyoX (no verificado) el Jue, 11/20/2008 - 11:13.
La observación del

La observación del rendimiento en la diminución del tiempo al usar el echo es cierta, sin embargo tendría que usarse mucha cantidad de echo´s para observar este desempeño. Por otro lado considero el uso del echo más comodo que el print. Inclusive en documentaciones recientes sobre programación de PHP hacen uso extenso del echo.

Saludos

Enviado por CarlGo (no verificado) el Lun, 12/01/2008 - 11:47.
Solo un comentario de un

Solo un comentario de un novato a otros novatos que pudieran llegar aquí.

Si llegaste aqui preguntandote que hay de la "funcion SAY"...

Lei que SAY no existe y que solo hay echo o print. Hay varias guias en internet que aun tiene al SAY dentro de su codigo, pero no debe usarse.

Si algun usuario experimentado puedo confirmar eso, seria muy bueno.

Enviado por Anonymous (no verificado) el Jue, 12/18/2008 - 18:13.
Anónimo, este artículo esta

Anónimo, este artículo esta referido a PHP. Y en este lenguaje de programación no existe la función SAY. Saludos.

Enviado por baluart el Jue, 12/18/2008 - 18:18.

Deja tu comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato