Bagaimana untuk menjana nombor rawak yang berbeza dalam php

PHPz
Lepaskan: 2023-04-10 14:00:28
asal
788 orang telah melayarinya

Dalam PHP, kita selalunya perlu menggunakan nombor rawak untuk melaksanakan beberapa operasi. Kadangkala kita memerlukan julat nombor rawak untuk sama, tetapi nombor rawak yang dijana setiap kali adalah berbeza. Jadi, bagaimana untuk menjana nombor rawak yang berbeza?

  1. Gunakan cap masa sebagai benih nombor rawak

Kita boleh menggunakan cap masa masa semasa sebagai benih untuk penjanaan nombor rawak. Cap masa ialah bilangan saat dari 1 Januari 1970 00:00:00 GMT hingga masa semasa. Sebagai contoh, kita boleh menggunakan kod berikut untuk menjana nombor rawak:

mt_srand(time());
$random_number = mt_rand(1, 100);
Salin selepas log masuk

Dalam kod di atas, mt_srand(time()) bermaksud menggunakan cap masa semasa sebagai nombor benih, dan mt_rand(1, 100) bermaksud menjana nombor rawak antara 1 dan 100 .

  1. Gunakan rentetan rawak sebagai benih

Kita boleh menggunakan rentetan rawak sebagai benih nombor rawak. Sebagai contoh, kita boleh menggunakan kod berikut untuk menjana nombor rawak:

$seed = str_split('abcdefghijklmnopqrstuvwxyz'
                 .'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                 .'0123456789');
shuffle($seed);
$random_number = '';
foreach (array_rand($seed, 10) as $k) {
    $random_number .= $seed[$k];
}
Salin selepas log masuk

Dalam kod di atas, kita mula-mula membahagi rentetan yang mengandungi semua aksara yang mungkin kepada tatasusunan aksara $seed dan kemudian memanggil shuffle fungsi kepada Tatasusunan disusun semula. Seterusnya, kami menggunakan fungsi array_rand untuk memilih 10 aksara secara rawak daripada tatasusunan, dan akhirnya menggabungkan aksara ini bersama-sama sebagai nombor rawak.

  1. Gunakan fungsi uniqid PHP

Fungsi uniqid PHP boleh menjana ID unik dan kami juga boleh menggunakannya untuk menjana nombor rawak. Sebagai contoh, kita boleh menggunakan kod berikut untuk menjana nombor rawak:

$random_number = uniqid(mt_rand(), true);
Salin selepas log masuk

Dalam kod di atas, fungsi mt_rand() mengembalikan integer rawak sebagai awalan bagi fungsi uniqid dan true parameter menunjukkan penggunaan mikro cap masa peringkat Kedua sebagai akhiran.

Ringkasan

Menggunakan cap masa, aksara rawak dan fungsi uniqid semuanya boleh menjana nombor rawak yang berbeza. Dalam penggunaan sebenar, anda perlu memilih kaedah yang sesuai dengan anda mengikut situasi tertentu. Perlu diingatkan bahawa nombor rawak bukanlah nombor rawak yang benar-benar, tetapi nombor pseudo-rawak yang bergantung pada penjana nombor rawak. Oleh itu, apabila nombor rawak yang benar-benar selamat diperlukan, perpustakaan kriptografi khusus diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk menjana nombor rawak yang berbeza dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan