这是一个超级简单的数组打印,但是当我使用 print_r 时,我会走到最后。
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names);
echo $results;
?>
然后我得到:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
1
print_r
已经打印了数组 - 不需要echo
它的返回值(true
因此将1
在转换为字符串时结束):
当返回参数为 TRUE 时,该函数将返回一个字符串。否则,返回值为 TRUE。
以下也可以正常工作:
$results = print_r($user_names, true);
echo $results;
除非您并不总是在获得结果后立即显示结果,否则这根本没有意义。
你得到它是因为
echo $results;
由于$results包含print_r函数的结果,即 TRUE (1)
print_r 可以返回字符串而不是回显它。为此,您必须传递第二个参数 - true:
$results = print_r($user_names, true);
所以,你有两个选择。删除 echo $results 或保留它,但将第二个参数传递给 print_r。
print_r
在屏幕上打印结果,如果您需要返回一个字符串而不是打印,您应该将第二个参数传递给函数:
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names, true);
echo $results;
更多信息: http: //php.net/manual/en/function.print-r.php
print_r
实际打印出结果,如果您希望它返回结果,请使用print_r($user_name, true)'
所以这些中的任何一个都会做你想要的。
<?php
$user_names = array(1, 2, 3, 4);
print_r($user_names);
?>
或者
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names,true);
echo $results;
?>
由于您print_r
没有提供第二个参数,它会自行打印并返回 1。然后您保存并打印它。尝试:
$results = print_r($user_names, true);
查看print_r的文档:
如果您想捕获 的输出
print_r()
,请使用 return 参数。当此参数设置为 TRUE 时,print_r() 将返回信息而不是打印它。