이전 글에서는 PHP에서의 EOF에 대해 배웠습니다. 필요하신 분은 "heredoc이 무엇인가요? PHP에서 무엇을 할 수 있나요?"를 읽어보세요. 》. 이번에는 nowdoc과 heredoc의 차이점을 소개하겠습니다. 필요하시면 참고하시면 됩니다.
이전 섹션에서는 편집자가 heredoc을 모든 사람에게 소개했지만 nowdoc은 소개하지 않은 것 같습니다. 하지만 편집자는 Nowdoc을 모든 사람에게 소개했지만 편집자는 모든 사람에게 용어를 알려주지 않았습니다. 하지만 nowdoc을 살펴보겠습니다.
먼저 작은 밤부터 살펴보겠습니다.
<?php $str = <<<'EOD' Example of string spanning multiple lines using nowdoc syntax. EOD; /* 含有变量的更复杂的示例 */ class foo { public $foo; public $bar; function foo() { $this->foo = 'Foo'; $this->bar = array('Bar1', 'Bar2', 'Bar3'); } } $foo = new foo(); $name = 'MyName'; echo <<<'EOT' My name is "$name". I am printing some $foo->foo. Now, I am printing some {$foo->bar[1]}. This should not print a capital 'A': x41 EOT; ?>
이런 식으로는 명확하지 않습니다. 이전 기사의 예를 들어 비교해 보겠습니다.
<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?>
이 두 가지 예를 살펴보면 가장 큰 차이점은 EOF라는 단어라는 점입니다. nowdoc에서는 작은 따옴표가 필요하지만 heredoc에서는 따옴표를 사용할 필요가 없습니다.
이것이 우리가 직관적으로 느끼는 차이점입니다. nowdoc과 heredoc의 차이점에 대해 자세히 이야기해 보겠습니다.
heredoc은 <<< EOT 식별자를 사용하는 반면, nowdoc는 <<< 'EOT' 식별자를 사용합니다. 그 중 nowdoc은 php5.3에 도입된 새로운 기술입니다. 여기에는 herdoc의 구문이 포함되어 있지만 내용이 이스케이프되거나 해석되지 않습니다. 내용은 무엇입니까? PHP와 관련된 내용은 구문 분석하지 않습니다.
heredoc에서는 PHP 변수에 {$name->change()}用大括号括起来可以避免一些歧义。如果要按原样输出,可以使用传说中的转义字符<code>
를 사용하는 것이 좋습니다. 즉, 이 표현 방법은 중괄호를 사용하여 출력할 수 있습니다. 등을 정의된 출력으로 변환해야 합니다.
사용성을 보장하려면 이스케이프와 함께 herdoc 구문을 사용하는 것이 좋습니다. nowdoc 구문은 PHP5.3부터 도입되었기 때문에 많은 클라우드 호스팅 환경에서는 이를 지원하지 않아 사용이 불가능할 수 있습니다.
마지막으로 herdoc은 php4.0에서 도입되었지만 nowdoc 구문에는 버전 5.3이 필요하다는 점을 강조하고 싶습니다. herdeoc에는 nowdoc의 기능이 포함되어 있으므로 herdeoc을 사용하는 것이 더 좋습니다.
간단히 말하면
1. Heredoc은 동적이지만 nowdoc은 정적입니다
2. Herdoc은 여러 줄의 큰따옴표와 비슷하고, NewDoc은 여러 줄의 작은따옴표와 비슷합니다
3. 문자열 일반적인 처리 솔루션인 nowdoc는 PHP로 구현된 "효율적인" 정적 버전으로, "Heredoc"의 동적 구현 효율성을 보완합니다.
그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →php 비디오 튜토리얼
위 내용은 편집자가 구분 기호를 배우는 데 도움을 줄 것입니다. nowdoc과 heredoc 사이에 차이점이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!