donglin9068
2013-12-17 22:59
浏览 42
已采纳

从数组中获取字段

I'm working on a facebook app to retrieve information from the user. The overall goal is to make a "interactive story" about the user. So I want the name, birthday etc. But I also want to know their favorite bands. The problem is that I can display the array with all the info needed. But that is to much. I don't want to know the category or the id, I only want to know the name.

$user_music = $facebook->api('/me/music');
print_r ($user_music);

If I use this code, I get something like this:

Array ( [data] => Array ( 
[0] => Array ( [category] => Musician/band [name] => Red Hot Chili Peppers [created_time] => 2011-03-21T15:01:57+0000 [id] => 8335563918 ) 
[1] => Array ( [category] => Musician/band [name] => Train [created_time] => 2011-03-21T15:01:57+0000 [id] => 15313895735 ) ) 

I only want the bands name, but if I use this code:

$user_music = $facebook->api('/me/music');
$music_name = $user_music["name"];
echo $music_name;

it says it doesn't know "name".

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • drmgg4411 2013-12-17 23:02
    已采纳

    You missed 1 array level. To access "name" you should use:

    $user_music["data"][0]["name"]
    

    or to get all names you should iterate

    foreach($user_music["data"] as $data) {
        echo $data["name"];
    }
    
    点赞 打赏 评论
  • duanjiaoxi4928 2013-12-17 23:04

    you should do something like this:

    $user_music['data'][0]["name"]
    

    or run $user_music['data'] in a foreach loop

    点赞 打赏 评论

相关推荐 更多相似问题