Programming

PHP의 여러 줄 문자열

procodes 2020. 8. 2. 18:48
반응형

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가이를 인식하지 못합니다. 또한 " EOD" 을 사용할 필요가 없습니다 . 원하는 문자열이 될 수 있습니다.


$xml="l" . PHP_EOL;
$xml.="vv";
echo $xml;

에코 :

l
vv

PHP_EOL 에 대한 문서 .


성능 측면에서 어떻게 쌓이는 지 확실하지 않지만 실제로 중요하지 않은 곳에서는이 형식을 좋아합니다. \ r \ n (CRLF)을 사용하고 PHP 파일의 형식이 무엇이든 확실하지 않기 때문에이 형식을 좋아합니다. 저장되었습니다.

$text="line1\r\n" .
      "line2\r\n" .
      "line3\r\n";

또한 내가 원하는대로 들여 쓰기 할 수 있습니다.


"="= "죽지 않은"= "를 시도해보십시오.

$xml="l";
$xml.="vv";

당신에게 "lvv"를 줄 것이다;


또 다른 해결책은 출력 버퍼링 을 사용 하는 것입니다. 출력 / 에코되는 모든 것을 수집하여 변수에 저장할 수 있습니다.

<?php
ob_start(); 

?>line1
line2
line3<?php 

$xml = ob_get_clean();

출력 버퍼링은이 정확한 경우에 대한 성능 및 코드 청결성 측면에서 최상의 솔루션은 아니지만 참조를 위해 여기에 남겨 두는 것이 좋습니다.


$xml="l\rn";
$xml.="vv";

echo $xml;

그러나 실제로 http://us3.php.net/simplexml을 살펴보십시오.


코드 "l"과 "vv"를 코드의 개별 줄에 넣으려면 :

$xml = "l";
$xml .= "vv"
echo $xml;

In this instance you're saying to append .= the string to the end of the previous version of that string variable. Remember that = is only an assignment operator so in your original code you're assigning the variable a new string value.

To put the strings "l" and "vv" on separate lines in the echo alone:

$xml = "l\nvv"
echo $xml;

You don't need multiple strings in this instance, as the new line character \n will take care of that for you.

To put the strings "l" and "vv" on separate lines in code and when echoing:

$xml = "l";
$xml .= "\nvv"
echo $xml;

참고URL : https://stackoverflow.com/questions/9744192/multi-line-strings-in-php

반응형