2010-10-12 7 views
3

quelqu'un peut-il m'expliquer comment utiliser les accolades {} dans les chaînes php? comme si on rencontre un signe de dollar ($)php accolades et chaînes

"this is a {$variable}"
"this is a {$user -> getName($variable);} name"

Répondre

8

, l'analyseur prendra autant de jetons que possible pour former un nom de variable valide. Placez le nom de la variable entre accolades pour indiquer explicitement la fin du nom.

<?php 
$beer = 'Heineken'; 
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names 
echo "He drank some $beers"; // won't work; 's' is a valid character for variable names but the variable is "$beer" 
echo "He drank some ${beer}s"; // works 
echo "He drank some {$beer}s"; // works 
?> 

Source

+0

J'utilise toujours des accolades lorsque vous placez des variables dans des chaînes comme celle-ci. Même si ce n'est pas nécessaire –

3

Il est utilisé pour indiquer la fin du nom de la variable, par exemple:

$var = "apple"; 

echo "I love $var!"; //I love apple! 
echo "I love $vars!"; // I love ! 
echo "I love {$var}s!"; //I love apples! 
echo "I love ${var}s!"; //I love apples! //same as above 
+0

"J'adore $ vars!" retournera un avis de "variable indéfinie" cependant. – Alec

1

également la syntaxe « ceci est un {$ user -> getName (variable $) ;} name "n'est pas valide. Vous ne pouvez pas appeler des fonctions/méthodes à l'intérieur de chaînes. Vous pouvez cependant faire ceci:

"this is a " . $user->getName($varaible) . " name"