2012-03-09 14 views
1

私はjsonオブジェクト経由でユーザーを出力したいのですが、その曲リストを出力しようとすると最後のものだけを出力します。私は配列にこのリストを取得したい。PHP json_encodeは適切な結果を出力しません

ユーザーをループしながら、これは、

array_push($arrayUsers, array(
       'username' => $user['username'], 
       'id' => $user['_id'], 
       'favSongs' => array(
        'title' =>'song1', 
        'title' =>'song2' 
        ) 
       ) 
     ); 

私の配列プッシュであるが、これは私が(曲のタイトルを逃す)戻って得るものである、

[{"username":"asdfasdfasd","id":{"$id":"4f58d7227edae19c02000000"},"songs":{"title":"song2"}}] 

私はこのような曲出力にそれをしたいですが、それは、この使用してPHPを実行するために取得する方法を混乱しています:

"songs":[{"title": "song1"}, {"title": "song2"}] 
+1

'配列(「タイトル」=>「song1」、「タイトル」=>「song2」)'有効な配列ではありません - あるいはむしろそれが有効であるが、あなたは常にずに同じキーを2つ持つことはできません1つを上書きする。 –

+0

代わりに、 '' favSongs '=> array(' song1 '、' song2 ') ' –

+1

ohhhには単純な数値配列を使ってください。このようにして、私はこれを試してみたところ、array_push($ arrayUsers、array( 'username' => $ user ['username']、 'id' => $ user ['_ id']、 'favSongs' => 'title' => 'song1')、array( 'title' => 'song3'))))) ' – jamcoupe

答えて

3
'favSongs' => array(
    'title' => 'song1', 
    'title' => 'song2' 
) 

PHPは 'title'キーを最後に宣言されたキーに置き換えます。

"songs":[{"title": "song1"}, {"title": "song2"}] 

これはオブジェクトの配列なので、PHPでは配列の配列である必要があります。

'favSongs' => array(
    array('title' => 'song1'), 
    array('title' => 'song2') 
) 
関連する問題