как использовать в foreach для array_keys - PullRequest
0 голосов
/ 29 сентября 2010

мне нужно получить данные из array_keys, который я использую на стороне сервера:

PHP:

$friends = json_decode(file_get_contents(
'https://graph.facebook.com/me/friends?access_token=' .
   $facebook->getAccessToken() ), true);
$friend_ids = array_keys($friends);

данные массива выглядят так, как указано выше:

{
   "data": [
      {
         "name": "Tal Rozner",
         "id": "554089741"
      },
      {
         "name": "Daniel Kagan",
         "id": "559274789"
      },
  {
         "name": "ron cohen",
         "id": "100001553261234"
      }
   ]
}

Мне нужно получить все эти данные в массив, чтобы я мог работать с ним.

как я могу это сделать?Танки,

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

Если я правильно понимаю ваш вопрос (и я не уверен, что понимаю), вам может понадобиться что-то вроде

$by_id = array();
foreach ($friends['data'] as $item) {
    $by_id[ $item['id'] ] = $item['name'];
}

, которое даст вам массив, который выглядит так:

print_r ($by_id);

Array
(
    [554089741] => Tal Rozner
    [559274789] => Daniel Kagan
    [100001553261234] => ron cohen
)

С чем вам легче работать ...

0 голосов
/ 29 сентября 2010

Не уверен, что вы имеете в виду «работать с ним».Если ответ JSON от Facebook - это то, что вы опубликовали, вы сможете сделать следующее:

foreach ($friends['data'] as $friend) {
    echo "ID: {$friend['id']}" . PHP_EOL;
    echo "ID: {$friend['name']}" . PHP_EOL;
    echo PHP_EOL;
}

Это приведет к:

ID: 554089741
Name: Tal Rozner

ID: 559274789
Name: Daniel Kagan

ID: 100001553261234
Name: ron cohen

. * * * * * * * * *массив из-за вашего использования json_decode().В этом случае array_keys() не требуется и будет производить только array (0, 1, 2).

...