我发布了之前在这里发过的问题,并没有为我正确清除。
我正在尝试调整一个名为“灵活日历”的简单jquery代码,并通过我们的管理员使用元键填充事件。
键是日期,值是字符串。这就是问题所在。为了使用jQuery日历,我可以像这样动态创建一个JSON对象:
var codropsEvents = {
'11-23-2016' : 'text',
'11-23-2016' : 'text two',
'11-20-2016' : 'some other text',
'11-19-2016' : 'Anything that is text'
};
但是我需要获得一个JSON对象,如下所示:
var codropsEvents = {
'11-23-2016' : 'text', 'text two',
'11-20-2016' : 'some other text',
'11-19-2016' : 'Anything that is text'
};
在这种情况下,我需要一个代码,使它们识别相同的日期条目,并且嵌套在同一行上将值与同一天的事件相对应。
问题是,PHP不允许在多行中使用相同的密钥:如果我有多个具有相同日期的帖子(wp元值),PHP只在数组中存储一个。
我的日历每天只显示一个帖子。
如何组织我的PHP数组以获得JSON对象的良好格式?
实际上,我不需要具有相同键的多行。对于每个具有相同日期的帖子,我需要创建一个具有唯一键(日期)的行和一个包含所有帖子标题的字符串的唯一值。
答案 0 :(得分:0)
Javascript对象不是有效对象。
for (var properties in your_obj) {
// will not return dups
}
如果它们是不同的条目,并且您希望将它们视为这样,并且您可以访问JSON创建,请按以下方式进行:
[
{
"date" : "11-23-2015",
"content" : "text here"
},
{
"date" : "11-23-2015",
"content" : "text 2 here"
},
{
"date" : "11-23-2015",
"content" : "text 3 here"
}
]
然后在你的php中使用:
json_decode($jsonstring);
json_decode($string, true); // for nested array
请参阅http://php.net/manual/en/function.json-decode.php
有一个非常相似的问题: https://stackoverflow.com/a/12561521/4792497
答案 1 :(得分:0)
你可以这样做;
<强> JSON 强>
var codropsEvents = {
"11-23-2015":[
"text",
"some text",
"more text",
"bla bla"]
}
<强> PHP 强>
$codropsEvents = array('11-23-2015'=> array('text','some text','more text','bla bla'))