【问题标题】:PHP unique number in array数组中的PHP唯一编号
【发布时间】:2016-07-29 16:29:31
【问题描述】:

我正在尝试在一个数组中生成 6 个数字,我正在使用 mt_rand 函数,但是数组中不能有相同的数字。我将如何检查并再次生成号码?

我考虑过制作一个重复的数组并循环抛出并计算数组中有多少个,如果它大于 1 则重新生成数字并再次检查,但这似乎需要做很多工作php 可能有一个我找不到的本机函数...

重复的东西不是我需要帮助的,即检查值的键,我需要所有值都是唯一的。

【问题讨论】:

标签: php


【解决方案1】:
$number_of_numbers = 6;//number_of_numbers in array
$min = 1;//minimum value of number that you want
$max = 15;//maximum value of number that you want

$array = array();
for ($a = 0; $a < $number_of_numbers; $a++) {
    $check = 0;//for entering while loop
    while ($check !== false) { //pick a number and check if it is in array if it is in the array, pick again and check again
        $try[$a] = mt_rand($min, $max); //pick a number
        $check = array_search($try[$a], $array);// search that number if it is in the array
    }
    $array[] = $try[$a]; //add number to array
}
var_dump($array); // show me the array

这就是你的意思吗?我可能会误解数组键。能再解释一下吗?

这是输出。对不起,我忘了先添加它。

array(6) { [0]=> int(10) [1]=> int(12) [2]=> int(3) [3]=> int(5) [4]=> int(9) [5]=> int(15) }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多