2016-09-29 12 views
0

私は前にすでに作成した質問を投稿していて、私のために正しくクリアされませんでした。複数の値に対して同じキーを使用してPHP配列を作成する

私は、「フレキシブルカレンダー」と呼ばれるシンプルな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は配列に1つしか格納しません。

私のカレンダーは1日に1つの投稿のみを表示します。

JSONオブジェクトの適切なフォーマットを得るためにPHP配列を整理するにはどうすればよいですか?

実際、同じキーを持つ複数の行は必要ありません。同じ日付のすべての投稿について、一意のキー(日付)とすべての投稿タイトルを含む文字列になる一意の値を持つ行を作成する必要があります。

+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

申し訳ありませんが、私はあなたが欲しいものとして少し混乱しています。 jsonのjsonでカレンダーエントリを書式設定しますか?または、エンドポイントからデータを取り出し、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')) 
関連する問題