Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/09/2006, 21:21
GikaJavi
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
Aunque echo y print no son funciones sino construcciones del lenguaje (tales como if, while o list()), la principal diferencia es que print puede comportarse como una función, puesto que devuelve el valor 1, por lo que es posible que una instrucción print se encuentre participando en expresiones complejas, donde echo generaría un error. Ello nos lleva a que print es algo más lento que echo, puesto que pierde un tiempo en ocuparse de devolver el valor. En mi opinión la lógica me dice que cuanto más largo sea el texto a mostrar menos se debería notar la diferencia de velocidad entre una y otra construcciones. Por otra parte, quizás menos importante sea el hecho de que echo admite la sintaxis echo "texto", "texto, "..." y print no.

Lo que yo me pregunto es, devolviendo print siempre el valor 1, ¿en qué situaciones puede ser interesante incluirlo en expresiones complejas donde echo fallaría?

A mí, por el momento, sólo se me ocurren tonterías parecidas a ésta:
Código PHP:
$n 0;
while (<
condicion1>) {
  (...)
  if (<
condicion2>)
    
$a += print 'Se ha dado la condición';
}
echo 
"La condición se dio $n veces"
Algo que, por supuesto, se puede escribir con echo con varias líneas más:
Código PHP:
$n 0;
while (<
condicion1>) {
  (...)
  if (<
condicion2>) {
    echo 
'Se ha dado la condición';
    
$a++;
  }
}
echo 
"La condición se dio $n veces"
Pues eso, si alguien sabe de alguna situació con más salsa, que la postee plis.