如何从一组数里面,随机挑选5个数(类似摇奖的效果) 比如指定一组数是$arr = array(11,24,512,147,845,144,114,145,147,874),这组数保证无重复,也无规律现在要求随机的从这组数里挑选5个数~~~~~怎么处理? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $arr=array(11,24,512,147,845,144,114,145,147,874);$count=count($arr);for($i=0;$i<5;$i++){$num=random(0,$count-1);echo $arr[$num]."<br>";} $arr=array(11,24,512,147,845,144,114,145,147,874);$count=count($arr);for($i=0;$i<5;$i++){$num=rand(0,$count-1);echo $arr[$num]."<br>";}上面函数用错了,改正下 $arr=array(11,24,512,147,845,144,114,145,874);$rand_keys = array_rand($arr, 5);print $input[$rand_keys[0]] . "\n";print $input[$rand_keys[1]] . "\n";... shuffle($arr);$arr=array_slice($arr,5); $arr=array(11,24,512,147,845,144,114,145,874);$rand_keys = array_rand($arr, 5);print $arr[$rand_keys[0]] . "\n";print $arr[$rand_keys[1]] . "\n";print $arr[$rand_keys[2]] . "\n";print $arr[$rand_keys[3]] . "\n";print $arr[$rand_keys[4]] . "\n"; <pre><?phpfunction array_rand_($array,$num) { return array_intersect_key($array,array_flip(array_rand($array,$num)));}$arr = array(11,24,512,147,845,144,114,145,147,874);var_dump(array_rand_($arr,5));?></pre> $rand_keys = array_rand($arr, 5);$rand_keys返回的是数组而$rand_keys = array_rand($arr, 1);返回的仅是一个整数 为什么我的php向mysql一次插入两条相同的数据 求助:关于正则和循环的问题 关于php框架的问题,各位大虾帮帮忙! PHP + Mysql 插入数据问题 请教mysql存储页面访问记录引起的锁表问题 php在函数前的@符号代表什么意思? mysql数据更新 用PHP能否实现向客户端定时发送消息页面? 请问如何将两个数组合并为一个数组? 急死我了,请各位高手一定要帮助解决php的Session函数出错 php求职简历 apache虚拟目录问题
$arr=array(11,24,512,147,845,144,114,145,147,874);
$count=count($arr);
for($i=0;$i<5;$i++){
$num=random(0,$count-1);
echo $arr[$num]."<br>";
}
$arr=array(11,24,512,147,845,144,114,145,147,874);
$count=count($arr);
for($i=0;$i<5;$i++){
$num=rand(0,$count-1);
echo $arr[$num]."<br>";
}上面函数用错了,改正下
$rand_keys = array_rand($arr, 5);
print $input[$rand_keys[0]] . "\n";
print $input[$rand_keys[1]] . "\n";
...
$arr=array_slice($arr,5);
$rand_keys = array_rand($arr, 5);
print $arr[$rand_keys[0]] . "\n";
print $arr[$rand_keys[1]] . "\n";
print $arr[$rand_keys[2]] . "\n";
print $arr[$rand_keys[3]] . "\n";
print $arr[$rand_keys[4]] . "\n";
<?php
function array_rand_($array,$num) {
return array_intersect_key($array,array_flip(array_rand($array,$num)));
}
$arr = array(11,24,512,147,845,144,114,145,147,874);
var_dump(array_rand_($arr,5));
?>
</pre>
$rand_keys返回的是数组而$rand_keys = array_rand($arr, 1);返回的仅是一个整数