在thinkphp上
测试了一下
print_r("test:",array(1, 2, 3, 4, 5, 6));
var_dump("test1:",array(1, 2, 3, 4, 5, 6));
发现上面那个始终是空白
下面就是正常的
这是什么问题啊 求解答
漂亮男人2017-05-16 13:13:27
那是由于你的函数使用方法不当造成的。
print_r函数有两个参数,
第一个参数是必填的,即将打印的变量。比如"test"(字符串) 、 123(整型) 、 123.01(浮点型) 、 true(布尔型)等等;
第二个参数非必填,布尔值。如果为true,则不打印,而是其输出作为结果返回。
<?php
$a = print_r('使用了true,所以我在这里只是变量值咯<br />',true);
print_r('没使用true,直接输出咯<br />');
echo $a;
运行后,结果如下:
没使用true,直接输出咯
使用了true,所以我在这里只是变量值咯
简而言之,var_dump是打印多组变量信息,print_r打印一组变量信息
PHP中文网2017-05-16 13:13:27
print_r 第二个参数为 true 时不输出信息而是返回信息,你的第二个参数是非空数组,会被隐式转换为 true。如果是空数组,会被隐式转换为 false。