我有如下的数组
array(1) {
["data"]=>
array(6) {
[0]=>
array(2) {
["name"]=>
string(10) "Wang"
["id"]=>
string(9) "500011929"
}
[1]=>
array(2) {
["name"]=>
string(17) "Singh"
["id"]=>
string(9) "500033614"
}
[2]=>
array(2) {
["name"]=>
string(9) "Adam"
["id"]=>
string(9) "5014177"
}
[3]=>
array(2) {
["name"]=>
string(23) "Siva"
["id"]=>
string(9) "5036644"
}
[4]=>
array(2) {
["name"]=>
string(11) "Chu"
["id"]=>
string(9) "5044111"
}
[5]=>
array(2) {
["name"]=>
string(18) "Matta"
["id"]=>
string(9) "56657897"
}
}
}
我需要从这个数组中随机选择2个值,我尝试使用下面的代码,我得到了null。
$mylist = $facebook->api('/me/friends');
$rand_keys = array_rand($mylist , 2);
var_dump($mylist[$rand_keys[]]);
请帮我解决这个问题。 提前谢谢!
答案 0 :(得分:1)
利用PHP的内置函数shuffle轻松完成这项工作
$my_friends = $facebook->api('/me/friends');
$temp= $my_friends ['data'];
shuffle($temp);
$mylist= array_slice($temp,0,2);
答案 1 :(得分:0)
请改为尝试:
$rand_keys = array_rand($mylist['data'], 2);
var_dump($mylist['data'][$rand_keys[0]]);
var_dump($mylist['data'][$rand_keys[1]]);
因为只使用[]
通常意味着您要为数组添加新索引。
如果你想循环它:
foreach ($rand_keys as $key) {
var_dump($mylist['data'][$key]);
}
应该给你一些东西。
修改强>
刚看到这是一个包含在“数据”中的多维数组,请参阅上面的更新代码。不确定这是否是问题,但似乎是这样。
答案 2 :(得分:0)
$ myallfriend = $ facebook-> api(array('method'=>'fql.query','query'=>“SELECT uid1 FROM friend WHERE uid2 ='$ user'”)); foreach($ myallfriend as $ status_a){ $ status_sql [] = $ status_a ['uid1'];} $ myArray的= array_rand($ status_sql,3); echo $ status_sql [$ myarray [0]]; echo $ status_sql [$ myarray [1]]; echo $ status_sql [$ myarray [2]]; 为($ I = 0; $ I< 3; $ I ++){
$ attachment = array('message'=>'Beet Me If U Can!', 'name'=> “疯狂的板球运动员!”, 'link'=> “http://apps.facebook.com/crazycricketers” 'description'=> $ name。“已得分”。$ _ GET ['得分']。“运行”。$ currentballs。“球的打击率为”。 $ strikerate。“挑战你的朋友!”, '图像'=> “中http://www.roohware.net/products/trivia/images/trivia.jpg”);
$ facebook-> api('/'。$ status_sql [$ myarray [$ i]]。'/ feed','POST',$ attachment);
echo“发布于”。$ status_sql [$ myarray [$ i]]。“
”;
}
任何想要这个的人,100%fawad@roohware.com