⑴ php数组值取随机数
用array_rand()函数就可以实现。
array_rand():从数组中随机选出一个或多个元素,并返回。
语法:array_rand(array,number)
array:必需。规定输入的数组参数。
number:可选。默认是 1。规定返回多少个随机的元素。
例子:$a = ['a','b','c'];//定义一个二维数组
$b = $array_rand($a,1);//从数组a里随机选取一个元素赋值给变量b。
⑵ 请教一下前辈php如何从一个数组中随机取五个数据(下标和值都要)
给你写个函数:
functionhaha($arr){
$keys=array_rand($arr,5);
$re=array();
foreach($keysas$v){
$re[$v]=$arr[$v];
}
return$re;
}
⑶ php怎么样从一个列表里面随机一个值
首先告诉你,楼上有的人说的不对,array_rand()函数返回的是数组的键值,即以下代码:
$a = array("aaaaa","bbbbb","ccccc","ddddd","eeeee");
$b = array_rand($a);
echo $b;
他们随机返回的是0,1,2,3,4中的任意一个数字。
当然,如果将$a改成$a = array("aaaaa"=>"随便什么","bbbbb"=>"随便什么","ccccc"=>"随便什么","ddddd"=>"随便什么","eeeee"=>"随便什么");则可以达到目的。
--------------------------------------------------------------------------------------
再谈谈另一种方法:shuttle()函数把数组中的元素按随机顺序重新排列。
$a = array("aaaaa","bbbbb","ccccc","ddddd","eeeee");
shuttle($a);
echo $a[0];
这种方法可成功达到目的,但应注意数组的键值!shuttle()函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。所以不论原来数组的键值是什么,重新排序后键值已经发生改变,所以echo $a[0];中的0不能写成以前数组的键值(当然其他数字也可以,只要不超过数组长度即可)
⑷ php 数组中随机抽取十个组成新数组
shuffle($array);
将数组打乱,然后取前10个就行
⑸ php 如何实现,从数组中随机取出数据,还要保证下次不会再取到
$a
=
range(1,100);
function
get_one(&$a){
if(count($a)>=1){
$key=array_rand($a,1);
$value=$a[$key];
unset($a[$key]);
return
$value;
}else{
return
"都取光了";
}
}
//每次取值可以直接
echo
"取到的值:".get_one($a);
echo
"<br>还剩:".count($a);
⑹ php 如何实现,从数组中随机取出数据,还要保证下次不会再取到
每次随机取出一个数之后,应该删除这个数,才可以保证下次不取到它。例如你的100个数,第一次随机取一个,然后删除它,下次再剩余的99里面随机取一个,这样就不会重复了。
写代码没难度了吧,你写写看,如果希望我继续回答,建议你粘贴一下你写的内容,不完整或者错误没关系,至少你去思考了的,而且我看了代码知道你错在哪里,才可以针对性的讲解。
没空等你写代码了,我把我的贴出来,今天晚上要熬夜加班,没空回来看帖子了,不好意思,希望你认真学习。
<?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);//删除刚才取到的数
}
?>
⑺ php从数组中随机取几个元素组成新的数组
1、
$a = array(1,2,3,4,5,6,7,8,9,10);
$b = array_rand($a,5);
foreach($b as $k=>$v){
$arr[]=$a[$v];
}
print_r($arr);
2、
$arr=$a;
shuffle($arr);
$arr=array_slice($arr,0,5);
print_r($arr);
⑻ php中怎样从一个数组中随机取一个元素出来呢
用array_rand()函数吧,它可以从一个数组中随机取一个或者多个下标出来,有了下标,就可以从原数组拿到对应的元素了。它的用法也很简单:array_rand($arr[,
$num])$arr
==
用来取元素的数组$num
==
随机取下标的个数其中第二个参数
$num
是可选的,默认为1
。注意:它的返回值在第二个参数大于
1
的时候是一个数组;当第二个参数不设或者传值
1
的时候是一个下标。简单的示例代码如下:1、第二个参数不传值的情况;$arr
=
Array('a',
'b');$rndKey
=
array_rand($arr);echo
$arr[$rndKey];//输出
a
或者
b2、第二个参数传值大于
1
的情况;$arr
=
Array('a',
'b',
'c',
'd');$rndKey
=
array_rand($arr,
2);print_r($rndKey]);//输出一个随机key的数组
⑼ php从数组中随机取几个元素组成新的数组
$a = array(1,2,3,4,5,6,7,8,9,10);
$b = array_rand($a,5);
print_r($b);
⑽ php中如何在数组中随机抽取n个数据的值
array_rand()
在你想从数组中取出一个或多个随机的单元时相当有用。它接受
input
作为输入数组和一个可选的参数
num_req,指明了你想取出多少个单元
-
如果没有指定,默认为
1。
如果你只取出一个,array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
主要是用array_rand()方法