扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
每次随机取出一个数之后,应该删除这个数,才可以保证下次不取到它。例如你的100个数,第一次随机取一个,然后删除它,下次再剩余的99里面随机取一个,这样就不会重复了。
我们提供的服务有:网站建设、网站设计、微信公众号开发、网站优化、网站认证、三门ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的三门网站制作公司
写代码没难度了吧,你写写看,如果希望我继续回答,建议你粘贴一下你写的内容,不完整或者错误没关系,至少你去思考了的,而且我看了代码知道你错在哪里,才可以针对性的讲解。
没空等你写代码了,我把我的贴出来,今天晚上要熬夜加班,没空回来看帖子了,不好意思,希望你认真学习。
?php
$arr=array();
for ($i=1;$i=100;$i++) array_push($arr,$i);
print_r($arr);
for ($i=1;$i=100;$i++){
$n=rand(0,count($arr)-1);//产生随机数,最小值是0,最大值是数组剩余元素可数-1
echo $arr[$n]," ";//显示取的随机数
array_slice($arr,$n,1);//删除刚才取到的数
}
?
你给出的数据组织形式,貌似是json,那么你可以直接用json_encode() 和 json_decode()进行转换后,再进行处理。
示例代码:
?php
$json = '{
"6846": {
"userid": "6846",
"expertname": "三剑客",
"firstrate": "0",
"wrong": null,
"firstqs": "2011254",
"firstvalue": "2",
"lastrate": "0",
"firstnum": "0",
"lastnum": "0",
"kjtime": "2012-09-30 00:00:00",
"successrate": "0",
"curqs": " (2012267,2012266,2012262,2012259,2011256,2011255,2011254 )",
"lastpaiming": "1",
"curpaiming": "1"
},
"9205": {
"userid": "9205",
"expertname": "东方诸葛",
"firstrate": "0",
"wrong": null,
"firstqs": "2011254",
"firstvalue": "2",
"lastrate": "0",
"firstnum": "0",
"lastnum": "0",
"kjtime": "2012-09-30 00:00:00",
"successrate": "0",
"curqs": " (2012267,2012266,2012262,2012259,2011256,2011255,2011254 )",
"lastpaiming": "2",
"curpaiming": "2"
},
"9213": {
"userid": "9213",
"expertname": "神探老李",
"firstrate": "0",
"wrong": null,
"firstqs": "2011254",
"firstvalue": "2",
"lastrate": "0",
"firstnum": "0",
"lastnum": "0",
"kjtime": "2012-09-30 00:00:00",
"successrate": "0",
"curqs": " (2012267,2012266,2012262,2012259,2011256,2011255,2011254 )",
"lastpaiming": "3",
"curpaiming": "3"
},
"17518": {
"userid": "17518",
"expertname": "草原雄鹰",
"firstrate": "0",
"wrong": null,
"firstqs": "2011254",
"firstvalue": "2",
"lastrate": "0",
"firstnum": "0",
"lastnum": "0",
"kjtime": "2012-09-30 00:00:00",
"successrate": "0",
"curqs": " (2012267,2012266,2012262,2012259,2011256,2011255,2011254 )",
"lastpaiming": "4",
"curpaiming": "4"
}
}';
echo 'Pre';
print_r( json_decode($json,true) );
echo '/pre';
?
楼上用的啥版本php啊。。。
-------------------------
1楼的意思在了,楼主可以衍生一下啊:
$luck = range(1,10);
$key = array_rand($luck,3);
foreach ($key as $v){
echo $luck[$v].' ';
}
++++ok!
希望能有所帮助
php截取数组的方法是使用 array_slice() 函数。
array_slice(array,offset,length,preserve)
其中:
offset 数值。规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
length 可选。数值。规定被返回数组的长度。如果是负数,则从后向前,选取该值绝对值数目的元素。如果未设置该值,则返回所有元素。
例子 1
例子:
$a = array(
0 = "Jack",
1 = "Tom",
2 = "Mary",
3 = "Bird");
$b = array_slice($a,1,2);
print_r($b);
结果显示:Array
(
[0] = Tom
[1] = Mary
)
一般是用Foreach提取,例如:
$data = array('字段1'=1,'字段2'=2,'字段3'=3,'字段4'=5);//数组数据
foreach($data as $key=$vo){//$key是字段名,$vo 为值
echo $key."=".$vo."br/";
}
array_rand()
在你想从数组中取出一个或多个随机的单元时相当有用。它接受
input
作为输入数组和一个可选的参数
num_req,指明了你想取出多少个单元
-
如果没有指定,默认为
1。
如果你只取出一个,array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
主要是用array_rand()方法
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2023 www.kswjz.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号
微信二维码
移动版官网