Home  >  Article  >  Backend Development  >  How to generate a non-repeating random 4-digit number using php

How to generate a non-repeating random 4-digit number using php

PHPz
PHPzOriginal
2023-03-21 16:32:163914browse

In PHP development, we often need to generate random numbers to implement some specific functions or generate verification codes, etc. However, some problems can arise if these randomly generated numbers are repeated. So how to generate a non-repeating random 4-digit number in PHP? Here's how to implement it.

Method 1: Using an array

We can use an array to achieve the operation of randomly generating numbers without repeating them. First, we need to define an array containing numbers 0-9, and then randomly select numbers from the array until 4 different numbers are generated.

The specific implementation code is as follows:

//定义一个包含0-9的数组
$arr = array(0,1,2,3,4,5,6,7,8,9);

//随机生成4个不同的数字
$numArr = array();
while(count($numArr) < 4){
    $key = array_rand($arr);
    if(!in_array($arr[$key], $numArr)){
        $numArr[] = $arr[$key];
    }
}

//将这四个数字组成一个字符串
$code = implode('', $numArr);

This method ensures that the generated numbers are not repeated by looping through the array and randomly selecting numbers. However, when there are more numbers, the number of loops will increase and the time to generate random numbers will become longer.

Method 2: Use PHP function

We can also use PHP’s built-in function to generate non-repeating random numbers. PHP provides the range() function to generate an array of numbers within a specified range, the shuffle() function to shuffle the array, and the array_slice() function to intercept a specified number of elements from the array. We can use these functions to generate 4-digit non-repeating random numbers.

The specific code is as follows:

//生成数组0-9
$numArr = range(0, 9);

//打乱数组顺序
shuffle($numArr);

//截取前4个数字,组成4位不重复数字
$code = implode('', array_slice($numArr, 0, 4));

This method uses the function that comes with PHP, and the amount of code is small. However, when the number is huge, the impact of array disordering and interception also needs to be considered. .

To sum up, whether you use an array or PHP built-in function, you can generate non-repeating random 4-digit numbers through different methods, and you can choose a method that suits you according to actual needs.

The above is the detailed content of How to generate a non-repeating random 4-digit number using php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn