Maison  >  Article  >  développement back-end  >  Qu'est-ce qu'un hérdoc ? Que peut-il faire pour PHP ?

Qu'est-ce qu'un hérdoc ? Que peut-il faire pour PHP ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-08-02 10:17:482482parcourir

Afin de permettre à tout le monde de bien comprendre EOF en php, cette fois nous commençons un nouveau chapitre. Les amis qui en ont besoin peuvent venir y jeter un œil.

En PHP, il existe un moyen de définir des chaînes, qui est heredoc ; il peut être utilisé dans les shells de ligne de commande (tels que sh, csh, ksh, bash, PowerShell et zsh) et les langages de programmation (tels que Perl, PHP, Python et Ruby) à définir.

Regardons d’abord un petit marron.

<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

En regardant ce code, il semble que le code après "$a=" soit très étrange. Il utilise en fait "<<<", et il Il y a deux mots EOF identiques. Que sont-ils ? À quoi ça sert ? $a=”后面的代码十分奇特啊,居然使用了“<<<”,而且它还有两个一样的EOF单词,这是什么呢?这又有什么意思呢?

在PHP中,如果我们想在命令行shell里或是在程序语言定义字符串,我们有一个特定的格式,就是.以<<<EOF开始标记开始,以EOF结束标记结束。

我们了解了heredoc,那我们去看看使用heredoc的方法吧。

1. 必须在EOF结束标记后接分号,否则编译通不过。

2. 只要保证结束标识与开始标识一致,开始标记和结束标记可以用任意其它字符代替。

3. 结束标记必须占据顶部网格中的一行(它必须从行首开始,后面不能有任何空格和字符)。

4.开始标识符可以没有引号,也可以有单引号和双引号。不带引号的效果与带双引号的效果相同。解释嵌入变量和转义符号。对于单引号,嵌入变量和转义符号不会被解释。

5.当内容需要嵌入引号(单引号或双引号)时,不需要添加转义符。内容本身避开了单引号和双引号,这等同于Q和QQ的用法。

知道了那么多使用heredoc的方法之后,我们去看看注意事项吧,避免我们写出来的代码无法使用啊,或是出现其他的问题。

1.以<<<EOF开始标签开始,以EOF结束标签结束。结束标记必须写在开头,没有缩进和空格,并且结束标记的结尾必须有分号。

2.开始标记与结束标记相同,例如大写的EOT、EOD和EOF,但不限于那些(JSON、HTML等),只要开始标记和结束标记不出现在正文中。

3.开始标签和结束标签之间的变量可以正常解析,但函数不能。在heredoc中,变量不需要用连接符.,来将它们连接到一起,就想我们上面例子里的“"abc"$name

En PHP, si on veut définir une chaîne dans un shell de ligne de commande ou dans un langage de programmation, on a un format spécifique, qui est de commencer par le début <<<EOF tag , se termine par la balise de fin EOF.

Nous comprenons l'hérédoc, voyons comment utiliser l'hérédoc.

1. Il doit y avoir un point-virgule après la marque de fin EOF, sinon la compilation ne réussira pas. 🎜🎜2. Tant que la balise de fin est cohérente avec la balise de début, la balise de début et la balise de fin peuvent être remplacées par n'importe quel autre caractère. 🎜🎜3. La balise de fermeture doit occuper une ligne dans la grille supérieure (elle doit commencer au début de la ligne et ne peut être suivie d'aucun espace ou caractère). 🎜🎜4. L'identifiant de début peut ne pas avoir de guillemets, ou peut avoir des guillemets simples et des guillemets doubles. L'effet sans guillemets est le même qu'avec des guillemets doubles. Interprétez les variables intégrées et les symboles d’échappement. Pour les guillemets simples, les variables incorporées et les symboles d'échappement ne sont pas interprétés. 🎜🎜5. Lorsque le contenu doit intégrer des guillemets (guillemets simples ou doubles), il n'est pas nécessaire d'ajouter des caractères d'échappement. Le contenu lui-même évite les guillemets simples et doubles, ce qui équivaut à l'utilisation de Q et QQ. 🎜🎜Après avoir connu tant de façons d'utiliser Heredoc, jetons un coup d'œil aux précautions pour éviter que le code que nous écrivons ne devienne inutilisable ou d'autres problèmes. 🎜🎜1. Commencez par la balise de début <<<EOF et terminez par la balise de fin EOF. La balise fermante doit être écrite au début, sans indentation ni espaces, et il doit y avoir un point-virgule à la fin de la balise fermante. 🎜🎜2. La balise de début est la même que la balise de fin, comme EOT, EOD et EOF majuscules, mais sans s'y limiter (JSON, HTML, etc.), tant que la balise de début et la balise de fin n'apparaissent pas. dans le corps. 🎜🎜3. Les variables entre la balise de début et la balise de fin peuvent être analysées normalement, mais la fonction ne le peut pas. Dans Heredoc, les variables n'ont pas besoin d'utiliser le connecteur . ou , pour les connecter entre elles, tout comme le ""abc"$name dans notre exemple ci-dessus " pareil. 🎜🎜C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜

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