Pregunta

acabo de descubrir algo.

echo $var1 , " and " , $var2;

es el mismo que:

echo $var1 . " and " . $var2;

¿Cuál es el operador de concatenación real en php? ¿Debo utilizar . o ,?

¿Fue útil?

Solución

El operador . es el operador de concatenación. Su primer ejemplo sólo funciona debido a que la 'función' eco (técnicamente es una construcción del lenguaje, pero no permite hilar fino) acepta más de un parámetro, y se imprimirá cada uno.

Así que el primer ejemplo está llamando eco con más de un parámetro, y todos ellos están siendo impreso, frente al segundo ejemplo en el que todas las cuerdas están siendo concatentated y que se está imprimiendo una cadena grande.

Otros consejos

La concatenación real es . (período). Usando , (coma) allí, está de paso múltiples argumentos a la href="http://php.net/echo" rel="nofollow noreferrer"> echo función . (En realidad, echo no es una función, sino una construcción del lenguaje PHP, lo que significa que se puede omitir los paréntesis alrededor de la lista de argumentos que se requieren para las llamadas a funciones reales.)

En el primer caso, sólo echo 3 secuencias diferentes.

En el segundo caso concatena las 3 cadenas y luego se hacen eco de la salida.

Así que la respuesta es que, con el fin de concatenar cadenas que debe utilizar el punto (.)

"" concatena, "" sólo pueden utilizarse para echo que es una construcción del lenguaje (una especie de función)

También ver: diferencia entre punto y coma

El uso de una coma en realidad no concatenar las cadenas.

esta respuesta a otra pregunta.

El "" es el operador de concatenación correcta. "Echo" también acepta "", tratándolo como si estás de paso en una serie de argumentos para el método de 'eco' y luego haciendo eco de cada uno. No es realmente la concatenación de las cadenas.

nop es porque eco podría tomar más de un argumento, que haría la impresión de cada argumentos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top