PHP json_encode不会输出正确的结果

时间:2012-03-09 19:56:32

标签: php json

我想通过json对象输出用户,但是当我尝试输出他们的歌曲列表时,它只输出最后一个。我想把这个列表放到一个数组中。

这是我在循环浏览用户时的数组推送,

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 个答案:

答案 0 :(得分:3)

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

PHP将使用声明的最后一个键替换'title'键。

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

这是一个对象数组,所以在PHP中它需要是一个数组数组。

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