2017-05-17 31 views
1

JSONについて学び始めました。私は後でjsonエンコードに変換する必要がある静的多次元配列を作成する必要があります。今、私は複数の配列を作成することに混乱します。以下は私が試したコードです。私はこの配列に多くの投稿と作者を置くべきです。しかし、それは単一の投稿と著者だけを印刷しています。私は正確にどこで間違ったのか分かりません。多次元配列をjson形式に変換する

<?php 
    $data['post']= array(
     'title' => 'This is title', 
     'message' =>'This is message', 
     'datetime' => 'This is date time', 
     'bannerImage' =>'' 
     ); 
    $data['author']= array(
     'authorName' => 'Jason Bourne', 
     'userType' => 'Registered User', 
     'address' => 'New York', 
     'profilePic' => 'Profile picture' 
     ); 
    $data['post']= array(
     'title' => 'This is title1', 
     'message' =>'This is message1', 
     'datetime' => 'This is date time1', 
     'bannerImage' =>'' 
     ); 
    $data['author']= array(
     'authorName' => 'Jason Bourne1', 
     'userType' => 'Registered User1', 
     'address' => 'New York1', 
     'profilePic' => 'Profile picture1' 
     ); 
    $datas = array($data); 
    $rss = (object) array('data'=>$datas); 
    $json = json_encode($rss); 
    echo $json; 
+0

を確認することができ、これを試してみてください、あなたが同じキーを再利用しているので、あなたはおそらく、あなたの '$のdata'宣言が前の宣言を上書きされることが近い将来に気づくでしょう。 ...あなたの '$ data'配列には、' post '(1回)と' author '(1回)の2つのサブ配列しかありません。 – mickmackusa

+0

@mickmackusaはいどのように私はそれを解決することができます –

+0

あなたの質問では、どのようにこれらの配列を生成している投稿。それらは単に '[] 'を使ってphpによって自動索引付けされることができますが、ここに来るために何をしているのか見てみましょう。 – mickmackusa

答えて

1

あなたはlive demo

<?php 

    $data['post']= array(
     'title' => 'This is title', 
     'message' =>'This is message', 
     'datetime' => 'This is date time', 
     'bannerImage' =>'' 
     ); 
    $data['author']= array(
     'authorName' => 'Jason Bourne', 
     'userType' => 'Registered User', 
     'address' => 'New York', 
     'profilePic' => 'Profile picture' 
     ); 
    $datas[] = $data; 
    $data['post']= array(
     'title' => 'This is title1', 
     'message' =>'This is message1', 
     'datetime' => 'This is date time1', 
     'bannerImage' =>'' 
     ); 
    $data['author']= array(
     'authorName' => 'Jason Bourne1', 
     'userType' => 'Registered User1', 
     'address' => 'New York1', 
     'profilePic' => 'Profile picture1' 
     ); 
    $datas[] = $data; 
    $json = json_encode(array('data'=>$datas)); 
    echo $json; 
+0

私は同じ結果を得ています –

+0

@SS、申し訳ありません、それは私のせいです。今すぐチェックしてください –

+1

ありがとうございました。それは私が試していたものです。前にarray_pushを試しましたが、何が問題になったのかは分かりませんでした。とにかくありがとう –

関連する問題