首页 > 后端开发 > PHP问题 > php如何创建随机不重复的数字数组

php如何创建随机不重复的数字数组

PHPz
发布: 2023-04-18 14:30:33
原创
819 人浏览过

PHP是一种广泛使用的服务器端脚本语言,它在开发Web应用程序时被广泛使用。一个常见的任务是创建随机不重复的数字数组。本文将向您展示如何使用PHP创建这样的数组。

在此之前,需要了解三个函数:rand(),array_push(), 和in_array()。rand()函数用于生成伪随机数,array_push()函数用于将元素添加到数组末尾,in_array()函数用于检查元素是否已经存在于数组中。

下面是一个创建随机不重复数字数组的两个方法:

方法一:使用while循环和in_array()函数

首先,创建一个空数组来容纳生成的数字。然后使用一个while循环来生成数字,并将每个数字添加到数组中。但是在将数字添加到数组之前,用in_array()函数检查它是否已经存在于数组中。如果数字已经存在,则循环继续生成新的数字,直到一个新的数字被找到。

以下是使用while循环和in_array()函数创建随机不重复数字数组的示例代码:

$numbers = array();
while (count($numbers) < 10) {
  $rand = rand(1, 20);
  if (!in_array($rand, $numbers)) {
    array_push($numbers, $rand);
  }
}
print_r($numbers);
登录后复制

在这个例子中,我们创建了一个包含10个元素的数组。在每一次循环中,我们使用rand()函数生成1-20之间的伪随机数,并使用in_array()函数检查它是否已经存在于数组中。如果没有,我们使用array_push()函数将数字添加到数组末尾。当数组的长度达到10个时,循环终止,并打印数组的内容。

方法二:使用for循环和shuffle()函数

第二种方法是使用for循环生成一系列数字,并使用shuffle()函数将它们打乱。在这个例子中,我们使用range()函数生成一个包含一系列数字的数组,然后使用shuffle()函数将数组中的元素打乱。这个方法不需要使用in_array()函数,因为在初始数组中没有重复的数字。

以下是使用for循环和shuffle()函数创建随机不重复数字数组的示例代码:

$numbers = range(1, 20);
shuffle($numbers);
$numbers = array_slice($numbers, 0, 10);
print_r($numbers);
登录后复制

在这个例子中,我们使用range()函数生成1-20之间的数字数组。然后使用shuffle()函数将数组中的元素打乱。最后,我们使用array_slice()函数从数组中选择前10个元素作为随机不重复数字数组,并打印数组的内容。

总结

本文展示了两种使用PHP创建随机不重复数字数组的方法。第一种方法在while循环中使用in_array()函数检查数字是否已经存在于数组中,并将不重复的数字添加到数组中。第二种方法使用for循环生成一系列数字后,使用shuffle()函数打乱数字顺序,并从数组中选择前10个元素作为随机不重复数字数组。这两种方法都可以实现随机生成不重复数字的目的,具体使用哪一种方法取决于您的个人喜好以及应用程序的要求。

以上是php如何创建随机不重复的数字数组的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板