在开发后端时我们经常要用到 json_decode 来进行将 json字符串转成PHP的数组对象,但在实际开发中会遇到一些问题值的我们注意
json_decode 的参数数据是由客户端发送来的,这时我们需要用stripslashes进行转义.如果服务器没有开启自动转义的话可以不需要进义
客户端发送来的数据中包含ASCII码不可见字符时, json_decode 会直接调用失败,返回一个空数组
解决方案
$data = @$_POST['data'];
$data = preg_replace('/[\x00-\x1F\x7F-\x9F]/u', '', $data);
print_r(json_decode($data, true));