Question

Je viens de découvrir quelque chose.

echo $var1 , " and " , $var2;

est le même que:

echo $var1 . " and " . $var2;

Quel est l'opérateur de concaténation de chaîne réelle en php? Dois-je utiliser . ou ,?

Était-ce utile?

La solution

L'opérateur . est l'opérateur de concaténation. Votre premier exemple ne fonctionne que parce que le (techniquement, il est une construction linguistique, mais permet de ne pas couper les cheveux en quatre) « fonction » d'écho accepte plusieurs paramètres, et imprimera chacun.

Ainsi, votre premier exemple appelle écho avec plus d'un paramètre, et ils sont tous en cours d'impression, par rapport au deuxième exemple où toutes les chaînes sont concatentated et une grande chaîne est en cours d'impression.

Autres conseils

La concaténation réelle est . (période). En utilisant , (virgule) là, vous passez plusieurs arguments à la fonction echo . (En fait, echo est pas une fonction mais une construction de langage PHP, ce qui signifie que vous pouvez omettre les parenthèses autour de la liste des arguments qui sont nécessaires pour les appels de fonction réelle.)

Dans le premier cas, vous écho à seulement 3 chaînes différentes.

Dans le second cas, vous concaténer les 3 chaînes et écho de la sortie.

La réponse est que, pour concaténer des chaînes, vous devez utiliser le point (.)

"". L'autre juste écrit plusieurs valeurs indépendamment, sans concaténer en fait la chaîne.
Voir aussi écho PHP référence, la variante « » ne fonctionne qu'avec les méthodes d'accepter plusieurs paramètres.

"" Concatène, « » ne peut être utilisé pour echo qui est une construction linguistique (sorte de fonction)

voir aussi: entre la période et la virgule

En utilisant une virgule ne concaténer pas réellement les chaînes.

Voir cette réponse à une autre question.

Le "" est l'opérateur de concaténer correct. « Echo » accepte aussi « », en le traitant comme si vous êtes de passage dans une série d'arguments à la méthode « écho », puis faisant écho chacun. Il est pas vraiment concaténer les chaînes.

nop c'est parce que écho pourrait prendre plus d'un argument, il ferait l'impression chacun des arguments

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top