Maison >développement back-end >tutoriel php >Comment fonctionnent les accolades {} dans l'interpolation de chaînes PHP ?

Comment fonctionnent les accolades {} dans l'interpolation de chaînes PHP ?

DDD
DDDoriginal
2025-01-01 00:44:17626parcourir

How Do Curly Braces {} Work in PHP String Interpolation?

Accolades dans les littéraux de chaîne en PHP

Question : Que représentent les accolades { } lorsqu'elles sont utilisées dans chaînes littérales dans PHP ?

Réponse :

Les accolades dans les littéraux de chaîne en PHP indiquent l'utilisation d'une « syntaxe complexe (bouclée) » pour l'interpolation de chaînes. Cette syntaxe permet l'inclusion d'expressions dans des chaînes.

Selon la documentation PHP, toute variable scalaire, élément de tableau ou propriété d'objet avec une représentation sous forme de chaîne peut être ajouté à une chaîne en utilisant cette syntaxe. Pour ce faire, placez simplement l'expression entre accolades { }.

Il est important de noter que le { ne peut pas être échappé, donc la syntaxe n'est reconnue que lorsque le $ suit immédiatement le {. Pour obtenir un littéral {$, utilisez $.

Voici quelques exemples pour illustrer l'utilisation :

$great = 'fantastic';

// Won't work, outputs: This is { fantastic}
echo "This is { $great}";

// Works, outputs: This is fantastic
echo "This is {$great}";
echo "This is ${great}";

La syntaxe complexe est particulièrement utile lorsque les expressions sont complexes ou nécessitent l'accès à plusieurs tableaux dimensionnels ou propriétés d'objet :

echo "This is the value of the var named $name: {${$name}}";

echo "This is the value of the var named by the return value of getName(): {${getName()}}";

echo "This is the value of the var named by the return value of $object->getName(): {${$object->getName()}}";

Bien que les accolades ne soient souvent pas nécessaires, elles sont requises dans les situations où le nom de la variable n'est pas immédiatement reconnaissable, tel que "$aefgh" dans l'exemple suivant :

$out = "$aefgh";

Pour résoudre ce problème, des accolades peuvent être utilisées pour spécifier explicitement le nom de la variable :

$out = "${a}efgh"; // or
$out = "{$a}efgh";

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn