这是一个非常简单的数组打印,但当我使用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发布于 2013-01-04 03:32:41
print_r已经打印了数组-不需要echo它的返回值(返回值为true,因此在转换为字符串时将以1结束):
当返回参数为TRUE时,此函数将返回一个字符串。否则,返回值为TRUE。
以下代码也可以很好地工作:
$results = print_r($user_names, true);
echo $results;但是,除非您不总是在获得结果后立即显示结果,否则它没有任何意义。
发布于 2013-01-04 03:31:56
你得到它是因为
echo $results;由于$results包含为TRUE (1)的print_r函数的结果
print_r可以返回字符串,而不是回显它。为此,您必须传递第二个参数- true:
$results = print_r($user_names, true);因此,您有两个选择。要么删除echo $results,要么保留它,但将第二个参数传递给print_r。
发布于 2013-01-04 03:34:08
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
https://stackoverflow.com/questions/14145821
复制相似问题