L'éditeur vous aidera à apprendre le délimiteur. Y a-t-il une différence entre nowdoc et heredoc ?

醉折花枝作酒筹
Libérer: 2023-03-11 21:00:01
original
2262 Les gens l'ont consulté

Dans l'article précédent, nous avons découvert EOF en PHP. Si vous en avez besoin, veuillez lire "Qu'est-ce que l'hérdoc ? Que peut-il faire pour PHP ?" 》. Cette fois, nous allons vous présenter la différence entre nowdoc et heredoc. Vous pouvez vous y référer si nécessaire.

Dans la section précédente, l'éditeur a présenté heredoc à tout le monde, mais il semble que nowdoc n'ait pas été présenté. Mais ce n'est pas le cas. L'éditeur a également présenté nowdoc à tout le monde, mais l'éditeur n'a pas indiqué le terme à tout le monde. Mais jetons un coup d'oeil à nowdoc.

Regardons d’abord un petit marron.

<?php
$str = <<<&#39;EOD&#39;
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;
/* 含有变量的更复杂的示例 */
class foo
{
    public $foo;
    public $bar;
    function foo()
    {
        $this->foo = &#39;Foo&#39;;
        $this->bar = array(&#39;Bar1&#39;, &#39;Bar2&#39;, &#39;Bar3&#39;);
    }
}
$foo = new foo();
$name = &#39;MyName&#39;;
echo <<<&#39;EOT&#39;
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital &#39;A&#39;: x41
EOT;
?>
Copier après la connexion

Ce n’est pas évident de cette façon, reprenons l’exemple de l’article précédent et comparons-le.

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

Regardons ces deux exemples et constatons que la plus grande différence est le mot EOF dans nowdoc, il nécessite des guillemets simples, mais dans heredoc, il n'a pas besoin d'être cité.

C'est la différence que nous ressentons intuitivement. Parlons en détail de la différence entre nowdoc et heredoc.

heredoc utilise l'identifiant <<<, tandis que nowdoc utilise l'identifiant <<< Parmi eux, nowdoc est une nouvelle technologie introduite dans php5.3. Il contient la syntaxe de herdoc, mais le contenu n'est jamais échappé ni interprété. Quel est le contenu ? Il n'analysera pas le contenu lié à PHP.

Il est recommandé d'utiliser {$name->change()}用大括号括起来可以避免一些歧义。如果要按原样输出,可以使用传说中的转义字符<code> pour les variables PHP dans heredoc. Les caractères d'échappement eux-mêmes peuvent être générés à l'aide de caractères d'échappement. etc. doivent être convertis en sortie définie.

Pour garantir la convivialité, il est recommandé d'utiliser la syntaxe herdoc avec échappement. Depuis que la syntaxe nowdoc a été introduite dans PHP5.3, de nombreux environnements d'hébergement cloud peuvent ne pas la prendre en charge, ce qui rend impossible son utilisation.

Enfin, je tiens à souligner que herdoc a été introduit à partir de php4.0, alors que la syntaxe nowdoc nécessite la version 5.3. Parce que herdeoc contient des fonctions de nowdoc, je suggère d'utiliser herdeoc.

En termes simples :

1. Heredoc est dynamique, tandis que nowdoc est statique

2 Herdoc est similaire aux guillemets doubles multilignes, NewDoc est similaire aux guillemets simples multilignes

3. strings Solution de traitement généraliste, nowdoc est une version statique "efficace" implémentée en PHP, qui compense l'efficacité de l'implémentation dynamique de "Heredoc".

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!