2011-03-20 2 views
0

Possible en double:
curly braces in stringPHP en utilisant {} Enchaînement

Je ne sais toujours pas ce qu'il est appelé. Comme:

$name = 'xxx'; 

echo "This is a string {$name}"; 

Comment appelez-vous cette opération? Concaténation d'une variable en utilisant {} dans une chaîne.

Merci!

+1

duplication possible de [accolades dans la chaîne] (http://stackoverflow.com/questions/2596837/curly-braces-in-string), [PHP Curly crochet, ce qui signifie dans ce code] (http: // stackoverflow.com/questions/4563728/php-curly-bracket-whats-meaning-in-this-code), – outis

Répondre

6

Ceci n'est pas une concaténation; c'est interpolation variable; voir la section Variable parsing, dans le manuel de PHP.


Fondamentalement, vous pouvez utiliser l'une des deux syntaxes suivantes:

echo "This is $variable"; 

Ou:

echo "This is {$variable}"; 

Et vous obtiendrez le même résultat dans les deux cas - à l'exception du deuxième on permet des expressions plus complexes.


Enchaînement serait quelque chose comme ceci:

echo "This is my : " . $value; 

Lorsque le contenu de la $value variable est concaténée à la chaîne, en utilisant la concatenation operator ..

+0

Je l'ai également appelé extension de chaîne/variable. Est-ce que ce serait correct? –

+0

Par une définition lâche de "concaténation" (en ajoutant une chaîne à une autre), l'exemple de jun est la concaténation (car l'interpolation est à la fin), mais pas via l'opérateur de concatation standard. – Matthew

+0

Le manuel dit "analyse syntaxique"; Je dis/entend généralement "interpolation variable"; https://secure.wikimedia.org/wikipedia/en/wiki/Variable_%28programming%29 semble indiquer que l'interpolation, la substitution et l'expansion sont tous des termes valides. –

1

How does {} affect a MySQL Query in PHP?

Ne laissez pas la question elle-même vous jeter - cette réponse vous donne exactement ce que vous recherchez.

Et ce n'est pas concaténant; ceci est concaténant:

$myvar = "This is a string ".$name; // <<< Notice I'm concatenating the variable 
            //  using the . operator 
2

On l'appelle souvent interpolation de chaîne ou variable.