有人可以向我解释一下此php数组中的“ \”是做什么的吗?

时间:2018-08-07 11:57:37

标签: 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\",
                        }";

按照这种语法,我确实遇到了问题。那些斜线在那里做什么?为什么将“连接到斜线? 并且:是否在此处创建了关联数组?

3 个答案:

答案 0 :(得分:3)

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

在PHP中,如果要将引号放在字符串中,则必须使用\

对其进行转义。

示例:

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

您应该尝试echo $jsonOutput;看看发生了什么

答案 1 :(得分:1)

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

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

,也请参考此StackOverflow link

答案 2 :(得分:0)

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

json_decode(input_string)

从json中获取(反斜杠)

如果您使用JavaScript,请使用

string.replace(/\\\//g, "/"); or JSON.parse(input_string)
相关问题