Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 如何在不转义斜杠的情况下进行json_编码?_Php_Escaping_Json - Fatal编程技术网

Php 如何在不转义斜杠的情况下进行json_编码?

Php 如何在不转义斜杠的情况下进行json_编码?,php,escaping,json,Php,Escaping,Json,我是这样编码的 json_encode($array_list, JSON_UNESCAPED_SLASHES) 例如:\n变成\\n,\r\n变成\\r\\n 但是,它仍然在逃避刀砍!出了什么问题以及如何解决?谢谢。我想这是因为单引号和双引号的缘故,请参见示例 $arr = array("\n\r"); echo json_encode($arr,JSON_UNESCAPED_SLASHES); // ["\n\r"] $arr = array('\n\r'); echo json_en

我是这样编码的

json_encode($array_list, JSON_UNESCAPED_SLASHES)
例如:\n变成\\n,\r\n变成\\r\\n


但是,它仍然在逃避刀砍!出了什么问题以及如何解决?谢谢。

我想这是因为
单引号和双引号的缘故,请参见示例

$arr = array("\n\r");
echo json_encode($arr,JSON_UNESCAPED_SLASHES);  // ["\n\r"]

$arr = array('\n\r');
echo json_encode($arr,JSON_UNESCAPED_SLASHES);  //["\\n\\r"]

工作示例

如果在执行任何MySQL查询时需要考虑这一点,那么您可以这样使用它:

mysql\u real\u escape\u字符串(json\u encode($array))


在此之前,无需转义
$array
本身中的任何内容,只需让
mysql\u real\u escape\u string
转义json\u编码字符串。

从PHP5.4开始,json\u UNESCAPED\u斜杠就可以使用,您运行的是哪个版本?我很惊讶,没有他实际发布
$arr
。印象深刻+1