不能使用var_dump,echo或print_r字符串,但可以使用字符串,并可以输出单个字符

时间:2015-11-13 15:23:00

标签: php xml

我在变量中有一个字符串(为演示而做的简短)

$xml = '<xml ect ect ect...';

下面这行代码

var_dump($xml);

返回此输出

string(2715) " "

但这行代码

var_dump($xml[0]);

返回此输出

string(1) "<"

我正在用这个函数构建xml,一次一行。

protected static function _addLine(&$xml, $string, $padding = 0)
{
    for ($i = 0; $i < (int)$padding; $i++) {
        $xml .= '   ';
    }
    $xml .= $string . chr(10);
}

可以使用,更改xml变量,甚至可以创建具有预期内容的文件。

$xmlFile = fopen('example.xml, 'w');
fwrite($xmlFile, $xml);
fclose($xmlFile);

但是我无法将$xml变量输出到页面。我试过了echovar_dumpprint_r$debug = $xml; echo $debug;。这些都没有奏效。为什么这个变量没有输出?

1 个答案:

答案 0 :(得分:3)

在视觉上,在页面上,您不会看到xml,但如果您使用inspect元素,您将看到元素在那里。浏览器将xml字符串解释为html元素。要在浏览器中查看,请转义html字符。

echo htmlspecialchars($xml);