2016-09-29 73 views
0

我發佈了之前已在此處提出的問題,但未正確清除。使用同一個鍵值創建一個PHP數組用於多個值

我正在嘗試調整一個簡單的jQuery代碼,稱爲「靈活日曆」,並通過我們的管理員用meta鍵填充事件。

關鍵是一個日期,值是一個字符串。問題來了。爲了使用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對象的良好格式?

事實上,我不需要使用相同密鑰的多行。對於具有相同日期的每篇文章,我需要創建一個包含唯一鍵(日期)的行和一個包含所有帖子標題的字符串。

+4

這是不可能的,無論是JavaScript的PHP也不會讓你有一個對象重複鍵。 – adeneo

+0

,那也不會接受重複密鑰 – Ghost

+2

你想要的可能是''11 -23-2015':['text','text two']' – adeneo

回答

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

+0

我相信這條道路就在那裏。但仍然無法實現。我更詳細地更新了我的問題。我希望這次我表現得更好。 – Flow

+0

對不起,我有點困惑,因爲你想要的。你想在js中格式化日曆條目嗎?或者,從端點提取數據並在PHP中使用json格式化它? 我將需要更多的信息,也許代碼來幫助你。 –

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')) 
相關問題