2010-11-16 7 views
0

BONJOUR,{var} signifie

Quelle est la signification de {$var} en PHP?

Exemple:

$query = "UPDATE table SET field = '{$var}'"; 

Thx.

Répondre

5

{$var} "bloque" le nom de variable des caractères environnants. Par exemple:

$root = "stick"; 
echo "{$root}y"; # Adjectify! 

Will sortie "collante", où:

$root = "stick"; 
echo "$rooty"; # Adjectify! No, just kidding. 

Will rien de sortie du tout, puisque la $rooty variable n'existe pas.

Il vous permet également d'utiliser des expressions qui ne sont pas seulement des noms de variables, comme l'indexation de tableaux ou l'accès aux propriétés.

+4

, et je ne pense pas que vous pouvez accéder à des tableaux sans eux, comme '" {$ arr [ 'key'] } "' ... ou du moins pas si vous utilisez des guillemets autour de la clé IIRC. – mpen

1

L'objectif général que j'ai trouvé en utilisant {$ var} est qu'il indique à PHP de référencer explicitement ce qui est à l'intérieur en tant que variable. Il est le plus utilisé pour faire quelque chose comme

$qry = "UPDATE table SET field = '{$var['myvar']}'"; or 
$qry = "UPDATE table SET field = '{$var->property}'"; 

Sans {} autour de ma variable dans la chaîne, il ne sait pas quand la variable a commencé et a pris fin et provoque généralement PHP à une erreur.

+1

Cela ne provoquera pas d'erreur, il va juste essayer de stringifier '$ var' et d'ajouter' -> property' etc., ce qui n'est généralement pas ce que le développeur veut. – cdhowie

0

$ var est une variable, un nom symbolique associé à une valeur et dont la valeur associée peut être modifiée le {} fait en sorte qu'il se traité comme un dans son contexte tous les 4 d'entre eux sont valides et signifient la même chose ...

$query = "UPDATE table SET field = '{$var}'"; 
$query = "UPDATE table SET field = '$var'"; 
$query = "UPDATE table SET field = '".$var."'"; 
$query = 'UPDATE table SET field = \''.$var.'\''; 
1

Il vous permet également d'effectuer des variables variables

$var = "Sup"; 
$sup = "Hello!"; 

echo ${$var}; // outputs Hello!