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
- responder
Enviado por q (no verificado) el Jue, 10/12/2006 - 02:58.por fin conozco las diferencias!
- responder
Enviado por jaatu (no verificado) el Vie, 03/09/2007 - 14:18.donde e encuentre el echo... el print siempre genera posibles problemas de hackers
- responder
Enviado por lanzarote (no verificado) el Vie, 01/04/2008 - 07:55.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
- responder
Enviado por pedrete (no verificado) el Mar, 09/23/2008 - 08:53.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";
?>
- responder
Enviado por Kevin (no verificado) el Mié, 10/22/2008 - 13:59.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.
- responder
Enviado por GyoX (no verificado) el Jue, 11/20/2008 - 11:13.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
- responder
Enviado por CarlGo (no verificado) el Lun, 12/01/2008 - 11:47.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.
- responder
Enviado por Anonymous (no verificado) el Jue, 12/18/2008 - 18:13.Anónimo, este artÃculo esta referido a PHP. Y en este lenguaje de programación no existe la función SAY. Saludos.
- responder
Enviado por baluart el Jue, 12/18/2008 - 18:18.creo que las comillas y algunos parentesis no son en su totalidad necesarios... Ejemplo:
echo $variable;
ó
echo "Texto..";
Aclaro por que algunos que vienen comenzando podrÃan complicarse :)
- responder
Enviado por emmanuelxd el Jue, 09/10/2009 - 01:37.Deja tu comentario