这是一个超级简单的数组打印,但是当我使用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
答案 0 :(得分:12)
print_r
已打印数组 - 无需echo
返回值(true
,因此转换为字符串时最终会以1
结尾):
当return参数为TRUE时,此函数将返回一个字符串。否则,返回值为TRUE。
以下也可以正常工作:
$results = print_r($user_names, true);
echo $results;
除非你总是在获得结果后立即显示结果,否则完全没有意义。
答案 1 :(得分:1)
你得到它是因为
echo $results;
由于 $ results 包含print_r函数的结果,该函数为TRUE(1)
print_r可以返回字符串而不是回显它。为此,您必须传递第二个参数 - true:
$results = print_r($user_names, true);
所以,你有两个选择。删除echo $ results或保留它,但将第二个参数传递给print_r。
答案 2 :(得分:0)
print_r
在屏幕上打印结果,如果需要返回字符串而不是打印,则应该向函数传递第二个参数:
<?php
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names, true);
echo $results;
答案 3 :(得分:0)
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;
?>
答案 4 :(得分:0)
由于你给了print_r
没有第二个参数,它将自己进行打印并返回1.然后保存这个并打印出来。尝试:
$results = print_r($user_names, true);
查看print_r的文档:
如果要捕获
print_r()
的输出,请使用return参数。当此参数设置为TRUE时,print_r()将返回信息而不是打印信息。