이 기사는 PHP의 heredoc 및 nowdoc에 대한 소개를 제공합니다(코드 예제). 필요한 친구가 참고할 수 있기를 바랍니다.
heredoc 구조
heredoc 구문 구조: <<<. 연산자 뒤에 식별자를 제공하고 개행 문자를 제공하십시오. 다음에는 이전에 정의된 식별자로 끝나는 문자열 자체가 옵니다.
<?php $content = <<<FDIPZONE <html> <head> <title>test</title> </head> <body> <p> <img src="http://www.csdn.net/css/logo.png"> </p> <p>< a href='http://blog.csdn.net/fdipzone'>blog</a> </p> </body> </html> FDIPZONE; echo $content; ?>
heredoc 구조는 클래스 속성을 초기화하는 데 사용할 수 없습니다. PHP 5.3부터 이 제한은 heredoc에 변수가 포함된 경우에만 적용됩니다. 다음 예는 잘못될 것입니다.
<?php class test{ public $var = '123'; public $a = <<<FDIPZONE$varFDIPZONE; } $obj = new test(); echo $obj->a; ?>
heredoc 구조에서 변수는 대체되지만 메소드는 대체되지 않습니다. 복잡한 변수를 포함할 때는 주의하세요.
<?php $var = '123'; $content = <<<FDIPZONE$var time(); FDIPZONE; echo $content; // 123 time(); ?>
nowdoc 구조
nowdoc 구문 구조는 heredoc 구조와 매우 유사하지만 nowdoc는 구문 분석 작업을 수행하지 않습니다. 이 구조는 특수 문자를 이스케이프하지 않고 PHP 코드나 기타 큰 텍스트 조각을 삽입하는 데 적합합니다.
nowdoc에는 heredoc 구조와 동일한 태그 <<<가 있지만뒤에 오는 식별자는 작은따옴표 로 묶어야 합니다. 즉, <<<'EOF'입니다. heredoc 구조에 대한 모든 규칙은 nowdoc 구조에도 적용됩니다. 특히 식별자 종료 규칙은 더욱 그렇습니다. nowdoc은 php5.3 이후에 추가되었습니다.
<?php $var = '123'; $content = <<<'FDIPZONE'$var time(); FDIPZONE;echo $content; // $var time(); $var没有被替换 ?>nowdoc 구조는 모든 정적 데이터 환경에서 사용할 수 있습니다. 가장 일반적인 예는 클래스의 속성이나 상수를 초기화하는 것입니다. 다음 예제는 잘못되지 않습니다. heredoc 예제와 비교할 수 있습니다.
아아아아
위 내용은 PHP의 heredoc 및 nowdoc 소개(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!