Я пытаюсь рандомизировать друга из Facebook из моего списка контактов.
, так как я новичок в PHP, может кто-нибудь помочь мне и сообщить, как это сделать?
$friends_json = file_get_contents('https://graph.facebook.com/me/friends?access_token='.$session["access_token"]); $friends = json_decode($friends_json, true); $friend_rand = array_rand($friends, 1); // <-- is that right? how can I print it on screen?
array_rand возвращает массив ключей.Поскольку вы извлекаете только один элемент, код для печати -
echo($friend_rand[0]);
Ответ Андреа также работает, но при этом будет напечатан массив (не элемент).
Рандомизация всего массива друзей - это пустая трата кода и обработки, просто чтобы извлечь одно случайное имя из массива.
Просто выберите случайный ключ из массива.Вместо последней строки используйте:
echo $friends[mt_rand(0, count($friends)-1)];
Хорошо, ваш код почти верно, проблема в том, что возвращаемый результат помещается в массив "data", поэтому вам нужно сделать следующее:
$friends_json = file_get_contents('https://graph.facebook.com/me/friends?access_token='.$session["access_token"]); $friends = json_decode($friends_json, true); $k = array_rand($friends["data"]); echo $friends["data"][$k]["name"];
Или две последние строки можно заменить на:
echo $friends["data"][array_rand($friends["data"])]["name"];