我刚刚开始学习PHP,从一些来源学习。我想知道为什么print_r函数需要布尔值。
<?php
$names = array('Jeff','James','Jeremy');
echo '<pre>', print_r($names), '</pre>';
?>
输出:
阵 ( [0] =&gt;杰夫 [1] =&gt;詹姆士 [2] =&gt;杰里米 )
如果我不包含布尔值,则输出在数组末尾带有整数“1”。像这样:
阵 ( [0] =&gt;杰夫 [1] =&gt;詹姆士 [2] =&gt;杰里米 ) 1
有人可以帮我解决这个问题吗?非常感谢。
由于
答案 0 :(得分:1)
将第二个参数指定为true意味着print_r返回您要执行某些操作的内容,主要存储在变量中。将其指定为false或省略它意味着打印内容。
答案 1 :(得分:0)
根据php.net上的文档,boolean会抑制输出并返回它(使用输出缓冲区)。
在这个代码点,这是没有意义的,直到你想将print_r()
的输出分配给变量。
所以这两条线实际上都是一样的:
echo print_r($names, true);
print_r($names);
有关详细信息,请参阅文档:http://php.net/manual/en/function.print-r.php
因为您刚刚编辑了问题,所以答案如下:
你想把pre
- 标签放到你的代码中。通常你想逃脱html字符。
因此,您可以通过调用htmlspecialchars()
echo '<pre>', htmlspecialchars(print_r($names,true)) , '</pre>';