1

PHP で tow クエリを使用して JSON オブジェクトを作成し、 ajax を使用してこのオブジェクトを取得します。最初のものはすべての users を返します。2 番目のネストされたクエリは、特定のユーザーに関連付けられたすべてのタスクを返します。構造は次のようにする必要があります。

{
[
user1 : { "name" : "name1"
          "task" : [ { "taskname":"taskname1.1" , "date":"1-1" } ,

                 { "taskname":"taskname1.2" , "date":"1-1"  }
        }
} ,

user2: { "name" : "name2"
      "task" : [ { "taskname":"taskname2.1" , "date":"2-2" } ,

                 { "taskname":"taskname2.2" , "date":"2-2"  }
               ]
  }
...
]
}

私の問題は:

各ユーザーのタスクを解析しようとすると、次のことがわかりました。

各ユーザーのタスクは、前のユーザーのタスクとマージされます。

php を使用して私のものと同じ構造の JSON オブジェクトを作成する最良の方法は何ですか?

- - アップデート - -

私に答えてくれてありがとう。しかし、これを動的に作成する方法を知る必要があります。静的にこれを行う方法を知っており、前に json_encode() を正しく使用していますが、これは私の問題ではありません。私はあなたの答えに本当に感謝していますが、これは私が必要としているものではなく、問題は私の質問にあると思います.

4

2 に答える 2

1
$array=array(
    'user1'=>array(
                      'tasks'=>array(
                               'task1'=>'whatever',
                               'task2'=>'whatever',
                               'task3'=>'whatever'
                               ),
                      'date'=>'whatever'
                  ),

    'user2'=>array(
                      'tasks'=>array(
                               'task1'=>'whatever',
                               'task2'=>'whatever',
                               'task3'=>'whatever'
                               ),
                      'date'=>'whatever'
                  ),
    'user3'=>array(
                      'tasks'=>array(
                               'task1'=>'whatever',
                               'task2'=>'whatever',
                               'task3'=>'whatever'
                               ),
                      'date'=>'whatever'
                  )    
);

次に、JSONエンコードを使用してJSON文字列を送信します。

echo json_encode($array);
于 2012-06-23T19:33:39.283 に答える
0

私はpowerbuoyがphpでキーと値のペアを持つ配列を作成することに同意します:

$obj = array( 
             "User 1" => array( 
                 "name" => "name1", 
                 "tasks" => array(
                     array("taskname" => "t1", "date" => "1-1"),
                     array("taskname" => "t2", "date" => "1-1")
                 )
             ),
             "User 2" => array(...........)

次に実行しますjson_encode($obj);

私はそのような何かがあなたのために働くべきだと思います

于 2012-06-23T19:35:26.517 に答える