Considérer:
$xml = "l";
$xml = "vv";
echo $xml;
Cela fera écho à vv . Pourquoi et comment puis-je créer des chaînes multilignes pour des choses comme SimpleXML , etc.?
concatenation. C'est ce qu'on appelle quand on assemble des chaînes.
Considérer:
$xml = "l";
$xml = "vv";
echo $xml;
Cela fera écho à vv . Pourquoi et comment puis-je créer des chaînes multilignes pour des choses comme SimpleXML , etc.?
concatenation. C'est ce qu'on appelle quand on assemble des chaînes.
Réponses:
Bien,
$xml = "l
vv";
Travaux.
Vous pouvez également utiliser les éléments suivants:
$xml = "l\nvv";
ou
$xml = <<<XML
l
vv
XML;
Vous pouvez concaténer des chaînes à l'aide de l' .=opérateur.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
PHP a des chaînes Heredoc et Nowdoc, qui sont le meilleur moyen de gérer les chaînes multilignes en 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;
Un Nowdoc est comme un Heredoc, mais il ne remplace pas les variables.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Attention, le jeton de fin EODne doit pas du tout être indenté, sinon PHP ne le reconnaîtra pas. De plus, vous n'êtes pas obligé d'utiliser " EOD"; il peut s'agir de n'importe quelle chaîne de votre choix.
Je ne sais pas comment il se cumule en termes de performances, mais pour les endroits où cela n'a pas vraiment d'importance, j'aime ce format car je peux être sûr qu'il utilise \ r \ n (CRLF) et pas le format de mon fichier PHP. enregistré dans.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
Cela me permet également d'indenter comme je le souhaite.
Une autre solution consiste à utiliser la mise en mémoire tampon de sortie , vous pouvez collecter tout ce qui est sorti / écho et le stocker dans une variable.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Veuillez noter que la mise en mémoire tampon de sortie n'est peut-être pas la meilleure solution en termes de performances et de propreté du code pour ce cas précis, mais cela vaut la peine de la laisser ici pour référence.
Essayez peut-être ". =" Au lieu de "="?
$xml="l";
$xml.="vv";
vous donnera "lvv";
$xml="l\rn";
$xml.="vv";
echo $xml;
Mais vous devriez vraiment regarder dans http://us3.php.net/simplexml
Pour mettre les chaînes "l" et "vv" sur des lignes séparées dans le code seul:
$xml = "l";
$xml .= "vv"
echo $xml;
Dans ce cas, vous dites d'ajouter .=la chaîne à la fin de la version précédente de cette variable de chaîne. N'oubliez pas que = n'est qu'un opérateur d'affectation, donc dans votre code d'origine, vous attribuez à la variable une nouvelle valeur de chaîne.
Pour mettre les chaînes "l" et "vv" sur des lignes séparées dans l'écho seul:
$xml = "l\nvv"
echo $xml;
Vous n'avez pas besoin de plusieurs chaînes dans cette instance, comme caractère de nouvelle ligne \n s'en chargera pour vous.
Pour mettre les chaînes "l" et "vv" sur des lignes séparées dans le code et lors de l'écho:
$xml = "l";
$xml .= "\nvv"
echo $xml;