Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjana nombor rawak 4 digit yang tidak berulang menggunakan php

Bagaimana untuk menjana nombor rawak 4 digit yang tidak berulang menggunakan php

PHPz
PHPzasal
2023-03-21 16:32:163917semak imbas

Dalam pembangunan PHP, kita selalunya perlu menjana nombor rawak untuk melaksanakan beberapa fungsi tertentu atau menjana kod pengesahan, dsb. Walau bagaimanapun, beberapa masalah boleh timbul jika nombor yang dijana secara rawak ini diulang. Jadi bagaimana untuk menjana nombor rawak 4 digit yang tidak berulang dalam PHP? Inilah cara untuk melaksanakannya.

Kaedah 1: Gunakan tatasusunan

Kita boleh menggunakan tatasusunan untuk mencapai operasi menjana nombor secara rawak tanpa mengulanginya. Mula-mula, kita perlu menentukan tatasusunan yang mengandungi nombor 0-9, dan kemudian pilih nombor secara rawak daripada tatasusunan sehingga 4 nombor berbeza dijana.

Kod pelaksanaan khusus adalah seperti berikut:

//定义一个包含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);

Kaedah ini memastikan nombor yang dijana tidak diulang dengan menggelung melalui tatasusunan dan memilih nombor secara rawak. Walau bagaimanapun, apabila terdapat lebih banyak nombor, bilangan gelung akan meningkat dan masa untuk menjana nombor rawak akan menjadi lebih lama.

Kaedah 2: Gunakan fungsi PHP

Kami juga boleh menggunakan fungsi terbina dalam PHP untuk menjana nombor rawak tidak berulang. PHP menyediakan fungsi julat() untuk menjana tatasusunan nombor dalam julat tertentu, fungsi shuffle() untuk mengocok tatasusunan, dan fungsi array_slice() untuk memintas bilangan elemen tertentu daripada tatasusunan. Kita boleh menggunakan fungsi ini untuk menjana 4 digit nombor rawak tidak berulang.

Kod khusus adalah seperti berikut:

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

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

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

Kaedah ini menggunakan fungsi yang disertakan dengan PHP Jumlah kod adalah kecil, tetapi apabila bilangannya besar, ia juga perlu untuk mempertimbangkan susunan dan pemintasan pengaruh tatasusunan.

Ringkasnya, sama ada anda menggunakan tatasusunan atau fungsi terbina dalam PHP, anda boleh menjana nombor 4 digit rawak tidak berulang melalui kaedah yang berbeza, dan anda boleh memilih kaedah yang sesuai dengan anda mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menjana nombor rawak 4 digit yang tidak berulang menggunakan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn