2009-06-17 19 views
11

Duplicar posible:
How are echo and print different in PHP?¿Hay alguna diferencia entre 'imprimir' y 'eco' en PHP?

ACTUALIZACIÓN:

descubrí con alivio un exactaduplicate (no se muestra cuando he escrito esta pregunta al principio, lo encontré con ... google): Por favor, vote conmigo para cerrar esta pregunta, porque es agotador, vaya un poco a buscar a ese pobre tipo ;-)


¿Hay alguna diferencia entre print y echo en PHP? Si es así, ¿qué debería usar y cuándo? Si no, ¿por qué hay dos palabras clave?

ACTUALIZACIÓN:

En los downvoters: leer las preguntas frecuentes SO. SO también se configuró para capturar preguntas googleables. por lo tanto, no debe menospreciarlo, esta pregunta es válida, responde en muchos lugares y ahora también en SO.

Por supuesto, puedes rechazarlo por otra razón, pero por favor deja un comentario en las líneas de -1: downvoted por .., porque por ahora, no estoy entendiendo los votos bajos.

+7

"Googleable" como una etiqueta implica que eres terriblemente perezoso para hacer una pregunta. Lo eliminé para protegerte de ti mismo. – Welbog

+2

@Welbog, eso está bien para mí, pero lo puse allí con algunos elementos. 1) usar SO en lugar de google es correcto, significa que tiene un puntaje alto en Google, por lo que debe tener cobertura de las respuestas existentes. No todo el mundo parece saber esto, normalmente si hago una pregunta de googleable, me rechazan, ciertamente los novatos, ya que en los foros de Ohter, no se hacen preguntas googleables, por lo que es para protegerme 2. Al declarar googleable , espero respuestas rápidas de las personas que lo buscarán en google, así que realmente puedo usarlo en lugar de google, mientras sigo ayudando a ampliar la base de conocimiento aquí. – Peter

+4

Tengo que estar de acuerdo con Peter. El hecho de que algo sea "googleable" no debería significar nada. La gran mayoría de las preguntas aquí podrían considerarse "googleables". – Sampson

Respuesta

27

De this link, sugerido por el PHP manual entry for the echo() function:

  1. velocidad. Hay una diferencia entre los dos, pero en lo que respecta a la velocidad debe ser irrelevante para que usted use . echo es marginalmente más rápido desde no establece un valor de retorno si realmente quiere llegar al nítido arenoso.

  2. Expresión. print() se comporta como una función que puede hacer: $ ret = imprimir "Hello World"; Y $ ret será

  3. Eso significa que la impresión se puede usar como parte de una expresión más compleja donde echo no puede. Un ejemplo de el Manual PHP:

    $ b? imprimir "verdadero": imprimir "falso";

impresión es también parte de la tabla de precedencia, que tiene que ser si es para ser utilizado dentro de un complejo expresión. Sin embargo, se trata de la parte inferior de la lista de prioridades, . Solo "," AND, OR y XOR son más bajos.

  1. Parámetro (s). La gramática es: echo expression [, expression [, expression] ...] Pero echo (expresión, expresión ) no es válida.Esto sería válido: echo ("howdy"), ("partner"); lo mismo que: echo "howdy", "partner";
    (Poner los soportes en esa sencilla ejemplo no sirve para nada ya que no hay ningún problema de precedencia de los operadores con un solo término así.)

Así, el eco sin paréntesis pueden tomar múltiples parámetros, que obtienen concatenado:

echo "and a", 1, 2, 3; // separados por comas sin paréntesis
echo ("y un 123"); // sólo un parámetro con paréntesis

de impresión() sólo puede tener un parámetro:

de impresión ("y 123"); imprimir "y a 123";

2

devuelve la impresión, el eco no.

Y tienes razón, totalmente googleable.

Cuestiones relacionadas