PHP heredoc 与 nowdoc

韦小宝
풀어 주다: 2023-03-17 17:38:01
원래의
3164명이 탐색했습니다.

우리는 PHP에서 html을 자주 사용할 것입니다. 때로는 html의 큰 부분을 차지하기 때문에 PHP에서 html을 직접 작성하는 것은 매우 불편합니다. 걱정하지 마세요. PHP 구분 기호는 여기 문서에 있습니다. 그리고 의 nowdoc이 우리에게 도움이 될 테니 한번 살펴보겠습니다!

php heredoc 및 nowdoc

heredoc 구조

heredoc 구문 구조: <<<. 연산자 뒤에 식별자와 개행 문자를 입력하세요. 다음은 string 자체이고 마지막으로 이전에 정의한 식별자가 끝 표시로 사용됩니다.

<?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;  
?>
로그인 후 복사

heredoc 구조는 클래스의 properties를 초기화하는 데 사용할 수 없습니다. PHP 5.3부터 이 제한은 heredoc에 변수가 포함된 경우에만 적용됩니다. 다음 예는 잘못될 것입니다.

<?php  
class test{  
  
public $var = &#39;123&#39;;  
  
public $a = <<<FDIPZONE  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>
로그인 후 복사

heredoc 구조에서 변수는 대체되지만 메소드는 대체되지 않습니다. 복잡한 변수를 포함할 때는 주의하세요.

<?php  
$var = &#39;123&#39;;  
$content = <<<FDIPZONE  
$var time();  
FDIPZONE;  
  
echo $content; // 123 time();  
?>
로그인 후 복사

nowdoc 구조

nowdoc 구문 구조는 heredoc 구조와 매우 유사하지만 nowdoc에서는 구문 분석 작업이 수행되지 않습니다. 이 구조는 특수 문자를 벗어나지 않고 php 코드 또는 기타 큰 텍스트 블록을 삽입하는 데 적합합니다.

nowdoc에는 heredoc 구조와 동일한 마크업인 <<<가 있지만 다음 식별자는 작은따옴표로 묶어야 합니다(예: <<<<'EOF'). heredoc 구조에 대한 모든 규칙은 nowdoc 구조에도 적용됩니다. 특히 식별자 종료 규칙은 더욱 그렇습니다. nowdoc은 php5.3 이후에 추가되었습니다.

<?php  
$var = &#39;123&#39;;  
$content = <<<&#39;FDIPZONE&#39;  
$var time();  
FDIPZONE;  
  
echo $content; // $var time(); $var没有被替换  
?>
로그인 후 복사

nowdoc 구조는 모든 정적 데이터 환경에서 사용할 수 있습니다. 가장 일반적인 예는 클래스 속성 또는 상수를 초기화하는 것입니다. 다음 예제는 잘못되지 않습니다. heredoc 예제와 비교할 수 있습니다.

<?php  
class test{  
  
public $a = <<<&#39;FDIPZONE&#39;  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>
로그인 후 복사

위 내용은 PHP heredoc과 nowdoc의 전체 내용입니다. 모든 분들께 도움이 되길 바랍니다.

관련 권장 사항:

PHP 문자열의 Heredoc 및 Nowdoc 구조가 일반적으로 사용됩니까?

PHP 스칼라 유형 - 문자열, Heredoc은 이를 어떻게 표현하나요?

NOWDOC 및 HEREDOC 소개

위 내용은 PHP heredoc 与 nowdoc의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!