You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP生成1-200范围内20个随机数的简洁实现方案

更简洁的PHP生成随机数数组方案

当然有更优雅简洁的实现方式!你当前的代码重复调用20次rand()确实冗余,维护起来也麻烦(比如要改生成数量时得一个个数)。这里给你几种常用的优化写法:

方法1:使用for循环初始化

这是最直观的优化,通过循环批量添加随机数:

$x = [];
// 循环20次,每次往数组里塞一个1-200的随机数
for ($i = 0; $i < 20; $i++) {
    $x[] = rand(1, 200);
}

echo '<pre>';
print_r($x);
echo '</pre>';

方法2:一行代码搞定(array_fill + array_map)

如果追求代码简洁,可以用array_fill生成一个指定长度的占位数组,再通过array_map为每个元素生成随机数:

// 生成20个元素的数组,每个元素是1-200的随机数
$x = array_map(fn() => rand(1, 200), array_fill(0, 20, null));

echo '<pre>';
print_r($x);
echo '</pre>';

注:如果你的PHP版本低于7.4,需要把匿名函数换成普通函数写法:function() { return rand(1,200); }

方法3:PHP 8.1+ 可选写法

如果使用PHP 8.1及以上版本,也可以结合range来实现,效果和上面一致:

$x = array_map(fn() => rand(1, 200), range(1, 20));

echo '<pre>';
print_r($x);
echo '</pre>';

这些方法的优势在于:

  • 代码更简洁,避免重复冗余
  • 易维护:要修改生成的随机数数量时,只需要调整数字20即可,不用手动修改20次rand()调用

内容的提问来源于stack exchange,提问作者user9682104

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:51:21