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?
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);
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 .
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]; }
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.
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);
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!