Les différences et caractéristiques entre php heredoc et nowdoc

jacklove
Libérer: 2023-03-31 09:10:01
original
1488 Les gens l'ont consulté

php heredoc et nowdoc

structure hérédoc

syntaxe hérédoc Structure : ≪≪≪. Après l'opérateur, fournissez un identifiant puis une nouvelle ligne. Vient ensuite la chaîne elle-même, se terminant par l'identifiant défini précédemment.

<?php
$content = <<<FDIPZONE
<html>
<head>
<title>test</title>
</head>
<body>
<p><img src="http://www.csdn.net/css/logo.png"></p>
<p><a href=&#39;http://blog.csdn.net/fdipzone&#39;>blog</a></p>
</body>
</html>
FDIPZONE;
echo $content;
?>
Copier après la connexion

La structure hérédoc ne peut pas être utilisée pour initialiser les propriétés de classe. Depuis PHP 5.3, cette restriction s'applique uniquement lorsque l'hérdoc contient des variables. L'exemple suivant tournera mal.

<?php
class test{
public $var = &#39;123&#39;;
public $a = <<<FDIPZONE
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>
Copier après la connexion

Dans la structure héréditaire, les variables seront remplacées, mais pas les méthodes. Soyez prudent lorsque vous contientz des variables complexes.

<?php
$var = &#39;123&#39;;
$content = <<<FDIPZONE
$var time();
FDIPZONE;
echo $content; // 123 time();
?>
Copier après la connexion

structure nowdoc

la structure syntaxique de nowdoc est très similaire à la structure heredoc, mais dans nowdoc Aucune opération d'analyse. Cette structure convient pour intégrer du code PHP ou d’autres gros morceaux de texte sans échapper aux caractères spéciaux.

nowdoc a les mêmes balises que la structure héréditaire <<<, mais l'identifiant qui suit doit être placé entre guillemets simples , c'est-à-dire <<<'EOF'. Toutes les règles des structures heredoc s'appliquent également aux structures nowdoc, en particulier les règles de terminaison des identifiants. nowdoc a été ajouté après php5.3. La structure

<?php
$var = &#39;123&#39;;
$content = <<<&#39;FDIPZONE&#39;
$var time();
FDIPZONE;
echo $content; // $var time(); $var没有被替换
?>
Copier après la connexion

nowdoc peut être utilisée dans n'importe quel environnement de données statiques. L'exemple le plus typique est d'initialiser des attributs ou des constantes d'une classe. L'exemple suivant ne vous trompera pas, vous pouvez le comparer avec l'exemple héréditaire.

<?php
class test{
public $a = <<<&#39;FDIPZONE&#39;
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>
Copier après la connexion

Cet article explique les différences et les caractéristiques entre php heredoc et nowdoc Pour plus de contenu connexe, veuillez faire attention au site Web chinois de php.

Recommandations associées :

Explication sur la classe de comparaison du contenu des fichiers zip php

À propos du stockage local HTML5 et de la différence de stockage de session

Comment obtenir/définir la classe de langue de la page d'accès utilisateur via 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!