Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的var_dump给出了非法字符错误的避免方法_Php_Var Dump - Fatal编程技术网

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

php中的var_dump给出了非法字符错误的避免方法,php,var-dump,Php,Var Dump,我有一个写内容的小函数 function write($data) { file_put_contents("filename.txt",$data,FILE_APPEND); } 它的工作很好,除了一些地方,当我做以下 write( var_dump($someObject) ); 这将给出以下错误消息: 非法字符 我通过浏览器中的警报框看到此错误消息,php通过ajax调用获得调用。如果您能帮助调试,我们将不胜感激 函数var_dump()()会回显所有内容。您应该在这里使用var\

我有一个写内容的小函数

function write($data)
{
  file_put_contents("filename.txt",$data,FILE_APPEND);
}
它的工作很好,除了一些地方,当我做以下

write( var_dump($someObject) );
这将给出以下错误消息:

非法字符


我通过浏览器中的警报框看到此错误消息,php通过ajax调用获得调用。如果您能帮助调试,我们将不胜感激

函数
var_dump()
()会回显所有内容。您应该在这里使用
var\u export()
()


var_dump
不会这样工作,因为它直接输出,而不是返回输出。如果要捕获输出以便将其写入其他位置,则必须使用:

或者,
var\u export
也可以工作,只要您记住为第二个参数传入
true

write(var_export($data, true));

检查“filename.txt”中实际包含的字符可能会有所帮助。同时发布ajax代码也是一个好主意。警报本身并不存在……文件是用二进制标志打开的吗?
var\u export($someObject,true)
应该是更好的解决方案。由于需要在文件中写入字符串,
var\u export($someObject)
应该这样做。
ob_start();
var_dump($data);
write(ob_get_clean());
write(var_export($data, true));