php中的var_dump给出了如何避免非法字符的错误


var_dump in php gives error of illegal character how to avoid it

我有一个写内容的小函数

function write($data)
{
  file_put_contents("filename.txt",$data,FILE_APPEND);
}

它工作得很好,除了一些地方,当我做以下

write( var_dump($someObject) );

这会给出的错误信息

非法字符。

我通过浏览器中的一个警告框看到了这个错误消息php通过ajax调用得到了调用。如有任何调试方面的帮助,我们将不胜感激。

var_dump不会像那样工作,因为它直接输出而不是返回输出。如果您想捕获输出以便将其写入其他地方,则必须使用输出缓冲:

ob_start();
var_dump($data);
write(ob_get_clean());

或者,var_export也是可以工作的,只要你记得为第二个参数传递true

write(var_export($data, true));

函数var_dump()(请参阅文档)确实会回显所有内容。您应该在此处使用var_export()(请参阅文档)。

write(var_export($data, true));