Düşünmek:
$xml = "l";
$xml = "vv";
echo $xml;
Bu yankılanacak vv . SimpleXML gibi şeyler için neden ve nasıl çok satırlı dizeler yapabilirim ?
concatenation. Dizeleri bir araya getirdiğinizde buna denir.
Düşünmek:
$xml = "l";
$xml = "vv";
echo $xml;
Bu yankılanacak vv . SimpleXML gibi şeyler için neden ve nasıl çok satırlı dizeler yapabilirim ?
concatenation. Dizeleri bir araya getirdiğinizde buna denir.
Yanıtlar:
İyi,
$xml = "l
vv";
İşler.
Aşağıdakileri de kullanabilirsiniz:
$xml = "l\nvv";
veya
$xml = <<<XML
l
vv
XML;
.=İşleci kullanarak dizeleri birleştirebilirsiniz .
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
PHP, PHP'de çok satırlı dizeleri işlemenin en iyi yolu olan Heredoc ve Nowdoc dizelerine sahiptir.
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 bir Heredoc gibidir, ancak değişkenlerin yerini almaz.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Son belirtecin EODhiç girintili olmaması gerektiğine dikkat edin , yoksa PHP bunu kabul etmeyecektir. Ayrıca, " EOD" kullanmak zorunda değilsiniz ; istediğiniz herhangi bir dize olabilir.
Performans açısından nasıl istiflendiğinden emin değilim, ama gerçekten önemli olmayan yerler için, bu formatı beğendim çünkü PHP dosyamın hangi formatta olursa olsun \ r \ n (CRLF) kullandığından emin olabilirim kaydedildi.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
İstediğim gibi girintili olmamı da sağlıyor.
Başka bir çözüm çıktı tamponlama kullanmaktır , çıktılanan / yankılanan her şeyi toplayabilir ve bir değişken içinde saklayabilirsiniz.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Çıktı tamponlamanın, bu tam durum için performans ve kod temizliği açısından en iyi çözüm olmayabileceğini, ancak referans için burada bırakmaya değer olduğunu lütfen unutmayın.
Belki "." İndead "="?
$xml="l";
$xml.="vv";
size "lvv" verecek;
$xml="l\rn";
$xml.="vv";
echo $xml;
Ama gerçekten http://us3.php.net/simplexml adresine bakmalısınız.
"L" ve "vv" dizelerini yalnızca koddaki ayrı satırlara koymak için:
$xml = "l";
$xml .= "vv"
echo $xml;
Bu örnekte .=, dizeyi söz konusu dize değişkeninin önceki sürümünün sonuna eklemeyi söylüyorsunuz . Unutmayın = sadece bir atama operatörüdür, bu nedenle orijinal kodunuzda değişkene yeni bir dize değeri atarsınız.
"L" ve "vv" dizelerini yalnızca yankıdaki ayrı satırlara koymak için:
$xml = "l\nvv"
echo $xml;
Bu durumda birden çok dizeye ihtiyacınız yoktur, çünkü yeni çizgi karakteri \nbunu sizin yerinize halleder.
"L" ve "vv" dizelerini koddaki ayrı satırlara ve yankılanırken koymak için:
$xml = "l";
$xml .= "\nvv"
echo $xml;