之前通过error_log()来调试php,
发现收到的json字符前边总是有一个1,一直以为是哪里直接出现了print、print_r、echo、var_dump(),
后来发现原来是某处用了形如error_log(print_r($str))的代码,这样会直接打印$str的值,顾收到的json前总是有一个1,
正确做法应该是error_log(print_r($str,true))
注意:
1
2
3
4
5
6
7
8
9
10
11
12
13 |
//这种情况,浏览器会显示Array ( [0] => c [1] => d ),而php错误日志会显示1 $arr = array ( "c" , "d" ); error_log (print_r( $arr )); //这种情况,浏览器无任何显示,而php错误日志会显示 //Array //( // [0] => c // [1] => d //) $arr = array ( "c" , "d" ); error_log (print_r( $arr ,true)); |
即print_r()中的第二个参数为true是,表示把字符返回而不是打印在屏幕上
print($arr,true)的参数true表示将$arr的值返会,而不是打印,布布扣,bubuko.com
print($arr,true)的参数true表示将$arr的值返会,而不是打印
原文地址:http://www.cnblogs.com/huangye-dream/p/3754799.html