PHP mediante la concatenación de cadenas “”?
-
18-09-2019 - |
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 ,
?
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 (.)
"". El otro simplemente escribe varios valores de forma independiente, sin llegar a la concatenación de la cadena.
Ver también PHP eco de referencia, el "" variante sólo funcionará con métodos de aceptar múltiples parámetros.
"" 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