PHP et les chaînes de caractères.

in #programming7 years ago

Bonjour à tous,

<p dir="auto">Aujourd'hui je vais vous présenter les différentes méthodes pour déclarer une chaînes de caractères en PHP. <p dir="auto"><h1>Bien déclarer ses chaînes de caractères en PHP<p> <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.pixabay.com/photo/2015/03/30/14/07/coding-699318_960_720.jpg" alt="chaîne de caractères php" srcset="https://images.hive.blog/768x0/https://cdn.pixabay.com/photo/2015/03/30/14/07/coding-699318_960_720.jpg 1x, https://images.hive.blog/1536x0/https://cdn.pixabay.com/photo/2015/03/30/14/07/coding-699318_960_720.jpg 2x" /> <p dir="auto">Il existe actuellement 4 façons de délimiter une chaînes de caractères: <ul> <li>les guillements simpes <li>les guillements doubles <li>la syntaxe Heredoc <li>la syntaxe Nowdoc <p dir="auto"><h2>Les guillemets simples<br /> La première méthode pour déclarer une chaîne de caractères est d'utiliser les guillemets simples.<p> <pre><code><?php echo 'Ceci est une chaîne de caractères entourée de guillemets simples'; echo 'Si je veux afficher un guillemet simple je dois l\'échapper.'; echo 'Le caractère d\'échappement "\\" doit lui aussi être échappé.'; echo 'Je peux utiliser "les guillemets doubles" sans soucis.'; echo 'Le caractère d\'échappement ne fonctionne pas sur les autres caractères. \n et \r s\'afficheront tels quels.'; <p dir="auto">Résultat : <blockquote> <p dir="auto">Ceci est une chaîne de caractères entourée de guillemets simples<br /> Si je veux afficher un guillemet simple je dois l'échapper.<br /> Le caractère d'échappement "\" doit lui aussi être échappé.<br /> Je peux utiliser "les guillemets doubles" sans soucis.<br /> Le caractère d'échappement ne fonctionne pas sur les autres caractères. \n et \r s'afficheront tels quels. <p dir="auto"><h2>Les guillemets doubles<br /> Si nous utilisons les guillemets doubles (") à la place des guillemets simples ('), nous aurons alors à notre disposition un certains nombres de séquences utilisables avec le caractère d'échappement ().<p> <div class="table-responsive"><table> <thead> <tr><th>Séquences<th>Utilisations <tbody> <tr><td>\n<td>Fin de ligne <tr><td>\r<td>Retour à la ligne <tr><td>\t<td>Tabulation horizontale <tr><td>\v<td>Tabulation verticale <tr><td>\e<td>Echappement <tr><td>\f<td>Saut de page <tr><td>\\<td>Antislash <tr><td>\$<td>Signe dollar <tr><td>\"<td>Guillemet double <pre><code><?php echo "Ceci est une chaîne de caractères entourée de guillemets doubles."; echo "Je peux utiliser des séquences \n\r pour faire des retour à la ligne, \t des tabulations horizontales ou \v verticales."; <p dir="auto">Résultat : <blockquote> <p dir="auto">Ceci est une chaîne de caractères entourée de guillemets doubles.<br /> Je peux utiliser des séquences<br /> pour faire des retour à la ligne, des tabulations horizontales ou<br /> verticales. <p dir="auto">L'avantage des guillemets doubles est que les noms de variables seront interprétés.<br /> Deux notations sont possibles pour l'interprétation des variables : la simple ou la complexe. <p dir="auto"><h3>La notation simple<br /> L'utilisation du signe ($) suivi du nom d'une variable entouré ou non d'accolades permet de faire appel à cette variable.<p> <pre><code><?php $myVar = "ceci est le contenu de ma variable"; echo "j'affiche le contenu de ma variable : $myVar"; echo "j'affiche le contenu de ma variable : ${myVar}"; $myArray = ['zéro', 'un', 'deux', 'trois']; echo "mon tableau : $myArray[0], ${myArray[1]}, ${myArray[2]}, $myArray[3] et encore du texte."; <p dir="auto">Résultat : <blockquote> <p dir="auto">j'affiche le contenu de ma variable : ceci est le contenu de ma variable<br /> j'affiche le contenu de ma variable : ceci est le contenu de ma variable<br /> mon tableau : zéro, un, deux, trois et encore du texte. <p dir="auto"><h3>La notation complexe<br /> La notation complexe a l'avantage de pouvoir faire appel à des éléments plus complexe tels que des attributs d'objets ou méthodes.<p> <p dir="auto">Son utilisation est simple, il suffit d'entourer notre expression complexe d'accolades (sans espaces). <p dir="auto">On pourra également faire appel à des constantes ou des variables static de classes, cependant elles seront interprétés comme des noms de variables liées au contexte. <pre><code><?php class Test { public $publicVar = "variable publique"; private $privateVar = "variable privée"; const MA_CONSTANTE = 'constante'; public static $staticVar = 'static'; public function getPrivateVar() { return $this->privateVar; } } $constante = 'aaa'; $static = 'bbb'; $myVar = new Test(); echo "Ceci est une {$myVar->publicVar}"; echo "Ceci est une {$myVar->getPrivateVar()}"; echo "Ceci affiche {${Test::MA_CONSTANTE}}"; echo "Ceci affiche {${Test::$staticVar}}"; <p dir="auto">Résultat : <blockquote> <p dir="auto">Ceci est une variable publique<br /> Ceci est une variable privée<br /> Ceci affiche aaa<br /> Ceci affiche bbb <p dir="auto"><h2>La syntaxe Heredoc<br /> La troisième méthode pour définir une chaîne de caractères se comporte comme une chaîne entourée de guillemets doubles. Les variables seront donc interprétées et les séquences d'échappement utilisables.<p> <p dir="auto">Sa syntaxe peut cependant sembler particulière. <p dir="auto">Il faudra utiliser 3 signes inférieurs suivi d'un identifiant. Aux lignes suivantes, nous aurons notre chaîne. Pour conclure, sur une nouvelle ligne, sans indentation ni espace, il faudra répéter notre identifiant et terminer la ligne par un point-virgule. <pre><code><?php $variable = 1234; $heredoc = <<<IDENTIFIANT Voici ma chaîne. Je peux écrire ce que je veux. Voici une variable $variable IDENTIFIANT; echo $heredoc; <p dir="auto">Résultat : <blockquote> <p dir="auto">Voici ma chaîne.<br /> Je peux écrire ce que je veux .<br /> Voici une variable 1234 <p dir="auto"><h2>La syntaxe Nowdoc<br /> Pour finir, la syntaxe nowdoc est similaire à heredoc, à ceci près que heredoc est comparable aux guillemets doubles alors que nowdoc est comparables aux guillemets simples.<p> <p dir="auto">Sa syntaxe est proche de celle d'heredoc. Il faudra simplement entourer l'identifiant de guillemets simples lors de sa déclaration. <pre><code><?php $variable = 1234; $heredoc = <<<'IDENTIFIANT' Voici ma chaîne. Je peux écrire ce que je veux. Voici une variable $variable IDENTIFIANT; echo $heredoc; <p dir="auto">Résultat : <blockquote> <p dir="auto">Voici ma chaîne.<br /> Je peux écrire ce que je veux.<br /> Voici une variable $variable <p dir="auto"><h2>La concaténation de chaînes (bonus)<br /> Je ne pouvais pas vous laisser partir sans vous parler de l'opérateur de concaténation de chaînes : le point (.)<br /> Il suffit de le placer entre deux chaînes, variables ou tout autre élément représentant une chaîne de caractères pour qu'ils soient mis bout à bout.<p> <pre><code><?php class Test { public static function bonjour() { echo 'Bonjour, voici '; } } $var = "un bout de texte."; echo Test::bonjour() . $var; <p dir="auto">Résultat : <blockquote> <p dir="auto">Bonjour, voici un bout de texte <p dir="auto"><h2>Le mot de la fin<br /> J'espère avoir été le plus clair possible.<br /> Personnellement j'utilise principalement les deux premières méthodes pour déclarer mes chaînes de caractères.<br /> Heredoc et Nowdoc peuvent être utilisées pour gagner en lisibilité en cas de texte longs.<p> <p dir="auto">A très bientôt pour découvrir un peu plus PHP...
Sort:  

Congratulations @bibi4537! You received a personal award!

1 Year on Steemit

Click here to view your Board of Honor

Do not miss the last post from @steemitboard:

Saint Nicholas challenge for good boys and girls

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bibi4537! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!