有人可以向我解释一下这个 php 数组中的"\"是做什么的吗?



在AJAX调用中,有以下php代码:

$jsonOutput =
"{
id: "0",
name: "dauerreservierung",
startDate: new Date('".date("Y-m-d", strtotime('-100 year',
$today))."'),
endDate: new Date('".date("Y-m-d", strtotime('+20 year',
$today))."'),
"color": "#FF0000",
}";

我在使用这种语法时确实遇到了问题。那些斜杠在干什么?为什么"连接到斜杠?"?并且:这里是否创建了关联数组?

此变量不是数组,而是包含JSON对象的字符串。

在PHP中,如果要将引号放在字符串中,则必须使用对其进行转义

示例:

$my_life = 'I'm eating an apple';
$json = "{"id": 1, "value": 42}";

你应该试着去echo $jsonOutput;看看发生了什么

反斜杠((在PHP和JSON中都是一个特殊字符。这两种语言都使用它来转义字符串中的特殊字符,为了在字符串中正确地表示反斜杠,必须在PHP和JSON中为其加上另一个反斜杠。

有关更多详细信息,请参阅本PHP手册http://php.net/manual/en/language.types.string.php#language.types.string.syntax.single

并参考此StackOverflow链接。

如果您在PHP中使用此响应,请使用

json_decode(input_string)

从json 中获取(反斜杠(

如果您使用javascript消费,请使用

string.replace(/\//g, "/"); or JSON.parse(input_string)

最新更新