之前通过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))
注意:
//这种情况,浏览器会显示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是,表示把字符返回而不是打印在屏幕上