PHP의 다중 줄 문자열 리터럴
고려 사항:
$xml = "l";
$xml = "vv";
echo $xml;
이것은 반향을 일으킬 것입니다.vv
SimpleXML 등에 대해 다중 줄 문자열 리터럴을 수행하는 이유와 방법은 무엇입니까?
음.
$xml = "l
vv";
작동하다.
다음을 사용할 수도 있습니다.
$xml = "l\nvv";
또는
$xml = <<<XML
l
vv
XML;
주석을 기준으로 편집:
다음을 사용하여 문자열을 연결할 수 있습니다..=
교환입니다.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
PHP에는 Heredoc 문자열과 Nowdoc 문자열이 있으며, 이는 PHP에서 여러 줄 문자열을 처리하는 가장 좋은 방법입니다.
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
$var is replaced automatically.
EOD;
Nowdoc은 Heredoc와 비슷하지만 변수를 대체하지는 않습니다.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
"를 사용할 필요가 없습니다.EOD
시작/끝 식별자로 사용할 수 있습니다. 원하는 문자열일 수 있습니다.
움푹 패임을 조심하세요.PHP 7.3 이전 버전, 끝 식별자EOD
전혀 들여쓰기해서는 안 됩니다. 그렇지 않으면 PHP가 이를 승인하지 않습니다.PHP 7.3 이상에서는EOD
공백이나 탭으로 들여쓰기가 가능하며, 이 경우 heredoc/nowdoc 문자열의 모든 줄에서 들여쓰기가 제거됩니다.
성능 측면에서 어떻게 축적되는지는 잘 모르겠지만, 실제로 중요하지 않은 곳에서는 PHP 파일이 저장되는 형식이 아니라 \r\n(CRLF)을 사용하고 있다는 것을 확신할 수 있기 때문에 이 형식이 좋습니다.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
또한 원하는 대로 들여놓을 수 있습니다.
$xml="l" . PHP_EOL;
$xml.="vv";
echo $xml;
반향음:
l
vv
PHP_EOL에 대한 설명서.
또 다른 해결책은 출력 버퍼링을 사용하는 것입니다. 출력/에코되는 모든 정보를 수집하여 변수에 저장할 수 있습니다.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
출력 버퍼링이 성능과 코드 청결 면에서 이 정확한 경우에 가장 좋은 해결책은 아닐 수 있지만 참고로 남겨둘 가치가 있습니다.
PHP에는 여러 줄 문자열을 처리하기 위한 HEREDOC와 NOWDOC 두 가지 내장 메서드가 있습니다.HEREDOC에는 구문 <<<도 있습니다.
다음은 HEREDOC를 사용한 다중 행 PHP 문자열의 예입니다.
<?php
echo <<<EOT
My name is BB. I am printing some Text.
Now, I am printing SECOND LINE.
This should print a capital 'A': \x41
EOT;
?>
참고: 로컬 서버를 사용하여 위 코드의 올바른 출력을 확인하려면 CMD 또는 XAMPP Shell에서 전체 코드를 실행해야 합니다.
시도해 보세요."=" 대신에?
$xml="l";
$xml.="vv";
"lv"를 제공합니다;
코드에서만 문자열 "l"과 "vv"를 별도의 줄에 놓는 방법:
$xml = "l";
$xml .= "vv"
echo $xml;
이 경우에 당신이 덧붙이려고 하는 것은.=
해당 문자열 변수의 이전 버전 끝에 있는 문자열입니다.=는 할당 연산자일 뿐이므로 원래 코드에서는 변수에 새 문자열 값을 할당합니다.
"l" 및 "vv" 문자열을 에코에서만 별도의 줄에 배치하려면:
$xml = "l\nvv"
echo $xml;
인 이 경 새 줄 문 로 여 문 이 열 않 필 니 습 다 지 하 요 자 러 자 우 ▁the ▁character ▁in 다 니 ▁you , ▁as 습 않 ▁strings ▁instance 이 ▁line ▁this ▁multiple ▁new 지 ▁don 필 하t\n
당신을 위해 그것을 처리할 것입니다.
코드에서 문자열 "l"과 "vv"를 별도의 줄에 놓고 반향할 때:
$xml = "l";
$xml .= "\nvv"
echo $xml;
$xml="l\rn";
$xml.="vv";
echo $xml;
하지만 당신은 정말로 http://us3.php.net/simplexml 을 들여다봐야 합니다.
언급URL : https://stackoverflow.com/questions/9744192/multi-line-string-literals-in-php
'programing' 카테고리의 다른 글
양식 제출 jQuery에서 기본값 방지 (0) | 2023.08.27 |
---|---|
iTunes Connect API (0) | 2023.08.27 |
div의 배경 이미지 url을 받을 수 있습니까? (0) | 2023.08.27 |
VBA에서 셀의 색을 채우는 방법은 무엇입니까? (0) | 2023.08.27 |
최신 브라우저에서 허용되는 보류 중인 에이잭스 요청 수는 몇 개입니까? (0) | 2023.08.27 |