我在var_dump()
语句中有一个值的数组上调用print_r()
或echo
:
echo "<br><br>testArray is ==> " . var_dump($testArray) . " <===<br><br>";
以下是浏览器中的实际输出:
array
0 => string '28' (length=2)
testArray is ==> <===
这是我无法获得的细微差别。对我来说,执行的顺序是:
testArray is ==>
<==
应该执行不是在输出上看到1,2,然后是3,而是按顺序看到2, 1, 3
。
这是一行服务器端代码。这个细微差别是什么?
答案 0 :(得分:9)
他们这样做是因为他们没有返回数据,他们正在回应。您可以print_r($array, true)
使其返回,但var_dump()将需要输出缓冲。
如果您希望它按照您尝试制作它的方式工作,请将它们分成不同的调用。
答案 1 :(得分:3)
var_dump
不会返回任何内容,它会自行打印。它首先进行评估,因为PHP无法连接一个它不知道值的表达式。你可能想要:
echo "<br><br>testArray is ==> ";
var_dump($testArray);
echo " <===<br><br>";
代替。打印开始,中间,然后结束。
答案 2 :(得分:0)
您可以使用逗号运算符代替点运算符:
echo "<pre>" . var_dump($cal) . "</pre>";
object(Calendar)#2
<pre>
</pre>
echo "<pre>" , var_dump($cal) , "</pre>";
<pre>object(Calendar)#2
</pre>