如何让php或者JS产生随机名字,从可选名字中随机显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让php或者JS产生随机名字,从可选名字中随机显示相关的知识,希望对你有一定的参考价值。

我想在html中显示20条随机的姓名,从姓名库中随机抽取,不重复,如何写代码呢?

参考技术A 可以给你一个思路
php有一个随机函数rand(min,max),min和max分表是设定的随机范围,当然可以不给他们值,那么php会在0-rand_max之间随机取值,在某些平台下(例如 Windows)RAND_MAX 只有 32768。
你可以先定义一个数组,然后循环取出随机的值,保存到数组里面,这么多数据,相信重复的概率是很小了。然后在取出的时候,先获取数组的长度,然后以0为min,数组长度-1为max进行随机获取数据,打印出数组中下标元素为该数的数据,这就是你想要的了。
JS中同上,不过JS随机是用Math.random(),它只会随机0-1之间的数据,所以你要获取多的,最好在后面*10000等你想要的数据,EG:Manth.random()*1000000,其它的原理同PHP
如果需要知道详细代码,请追问,谢谢。
建议自己先试试!
参考技术B mysql排序中order by rand() 参考技术C 在mysql排序中order by rand() limit 20;不过这样效率低

我想从一个名字组 数据列表中随机筛选几个人出来 用php怎么写?

我想从一个名字字段组中随机筛选几个人出来
如某个ID下,姓名字段中有这样的数据:李一,李二,李三,李四,王一,王二,王三,王四,张一,张二,张三,张四

我想把这12个人 随机挑出4个人, 比如选出了:李一,,王二,王三,张三 请问用PHP如何来筛选?
感谢!

echo "方法一:";
echo "<br>\n";
$str = "李一,李二,李三,李四,王一,王二,王三,王四,张一,张二,张三,张四"; //某id下的名字字段的全部文字内容,设为变量$str
$temp = explode(",", $str); //以逗号拆分字符串$str,变成数组$temp
$result = array(); //最终数组,先初始化下
for($i=0;$i<4;$i++) //循环4次取随机名字
$key = rand(0, count($temp)-1);//获取随机数
$result[] = $temp[$key];//通过随机数找到$temp数组中的值,即随机的名字,赋值给$result数组
unset($temp[$key]); //把刚才取出的名字从$temp数组中删除
sort($temp); //从新排列下$temp数组的顺序,使其键值还是从0开始,为下次循环做准备

echo "结果为:";
echo "<br>\n";
print_r($result);
echo "<br>\n";
echo implode(",", $result);
echo "<br>\n";
echo "<br>\n";
echo "方法二:";
echo "<br>\n";
$str = "李一,李二,李三,李四,王一,王二,王三,王四,张一,张二,张三,张四"; //某id下的名字字段的全部文字内容,设为变量$str
$temp = explode(",", $str); //以逗号拆分字符串$str,变成数组$temp
$rand_key = array_rand($temp, 4); //从$temp数组中找出4个随机的key值
$result = array(); //最终数组,先初始化下
foreach($rand_key as $val) //循环4个键值
$result[] = $temp[$val]; //通过键值从temp数组找到对应的内容,即随机的名字,赋值给$result数组

echo "结果为:";
echo "<br>\n";
print_r($result);
echo "<br>\n";
echo implode(",", $result);来自:求助得到的回答
参考技术A 用sql语句是达不到这种效果,可以查询出这个字段到数组,然后用php随机取出4个
php取的方式也有多种
可以使用 array_rand(<数组>,[抽取元素的个数]); 函数随机抽取四个,也可以使用随机索引,取出四个,也可以先使用 shuffle 函数随机打乱数组,然后取出前四个或后四个
不过都要先判断数组的长度,小于4就全部要
参考技术B   系统函数array_rand($array, 4);第一个参数是原数组,第二个参数是随机挑出来几个 参考技术C array_rand($arry,$num); //$arry 数组 $num 随机的个数

以上是关于如何让php或者JS产生随机名字,从可选名字中随机显示的主要内容,如果未能解决你的问题,请参考以下文章

python产生随机名字

C语言 随机产生10个手机号,不能重复。输入英文名后绑定手机号,一个名字一个手机号

我想从一个名字组 数据列表中随机筛选几个人出来 用php怎么写?

php中如何生成1-15之间的随机数?

c语言如何随机输出同学名字?

C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。