salto - ¿Cómo se hacen eco e imprimen diferentes en PHP?
remove html tags php (5)
Como lo sugiere el manual de PHP.net, lea esta discusión .
Una diferencia importante es que el echo
puede llevar múltiples parámetros a la salida. P.ej:
echo ''foo'', ''bar''; // Concatenates the 2 strings
print(''foo'', ''bar''); // Fatal error
Si desea evaluar el resultado de una declaración de salida (como se muestra a continuación), utilice print
. Si no, usa echo
.
$res = print(''test'');
var_dump($res); //bool(true)
Posible duplicado:
Referencia: Comparando la impresión de PHP y el eco.
¿Hay alguna diferencia importante y fundamental entre estas dos funciones en PHP?
Creo que print()
es más lento que el echo
.
Me gusta usar print()
solo para situaciones como:
echo ''Doing some stuff... '';
foo() and print("ok./n") or print("error: " . getError() . "./n");
De: http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40
Velocidad. Hay una diferencia entre los dos, pero en cuanto a la velocidad, debe ser irrelevante cuál usas. echo es un poco más rápido ya que no establece un valor de retorno si realmente quieres llegar al grano.
Expresión.
print()
comporta como una función que puede hacer:$ret = print "Hello World"
; Y$ret
será1
. Eso significa que la impresión se puede utilizar como parte de una expresión más compleja donde el eco no puede. Un ejemplo del Manual de PHP:
$b ? print "true" : print "false";
imprimir también es parte de la tabla de precedencia que debe ser si se va a utilizar dentro de una expresión compleja. Sin embargo, está casi al final de la lista de precedencia. Solo "," AND, OR y XOR son menores.
- Parámetro (s). La gramática es:
echo expression [, expression[, expression] ... ]
Peroecho ( expression, expression )
no es válido. Esto sería válido:echo ("howdy"),("partner")
; lo mismo que:echo "howdy","partner"
; (Poner los corchetes en ese ejemplo simple no sirve para nada, ya que no hay un problema de precedencia de operadores con un solo término como ese).
Entonces, el eco sin paréntesis puede tomar múltiples parámetros, que se concatenan:
echo "and a ", 1, 2, 3; // comma-separated without parentheses
echo ("and a 123"); // just one parameter with parentheses
print()
solo puede tomar un parámetro:
print ("and a 123");
print "and a 123";
Para agregar a las respuestas anteriores, mientras que la impresión solo puede tomar un parámetro, permitirá la concatenación de múltiples valores, es decir:
$count = 5;
print "This is " . $count . " values in " . $count/5 . " parameter";
Esto es 5 valores en 1 parámetro
Son:
- imprimir solo toma un parámetro, mientras que el eco puede tener múltiples parámetros.
- print devuelve un valor (1), por lo que puede usarse como una expresión.
- El eco es ligeramente más rápido.