Rumah > pembangunan bahagian belakang > masalah PHP > Apakah fungsi yang melaksanakan rawak dalam PHP?

Apakah fungsi yang melaksanakan rawak dalam PHP?

青灯夜游
Lepaskan: 2023-03-13 07:34:01
asal
7031 orang telah melayarinya

Fungsi rawak PHP termasuk: 1. rand(), yang boleh menghasilkan integer rawak; 2. mt_rand(); ), boleh mengocok tatasusunan secara rawak; 5. str_shuffle();

Apakah fungsi yang melaksanakan rawak dalam PHP?

Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP7.1, komputer DELL G3

Fungsi rawak PHP terutamanya termasuk rand, mt_rand , array_rand , terdapat juga fungsi shuffle dan str_shuffle secara rawak "tersusun" (kocok), yang boleh menjana uniqid dengan ID unik.

1. Rand menjana nombor rawak

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[rand(0,$count-1)];
}
echo $random;
?>
Salin selepas log masuk

fungsi rand() menggunakan penjana nombor rawak libc untuk menjana nombor rawak faktor, adalah disyorkan untuk menggunakan fungsi mt_rand sebaliknya.

Fungsi getrandmax() boleh mengembalikan nombor rawak maksimum yang boleh dijana oleh fungsi rand (sistem saya ialah 32767), jadi apabila menetapkan parameter kedua fungsi rand, jangan melebihi nilai pulangan getrandmax.

2. mt_rand menjana nombor rawak

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[mt_rand(0,$count-1)];
}
echo $random;
?>
Salin selepas log masuk

Banyak penjana nombor rawak libc lama mempunyai beberapa ciri yang tidak pasti dan tidak diketahui dan sangat perlahan. Fungsi rand() PHP menggunakan penjana nombor rawak libc secara lalai. Fungsi mt_rand() digunakan secara tidak rasmi untuk menggantikannya. Fungsi ini menggunakan ciri yang diketahui » Mersenne Twister sebagai penjana nombor rawak, yang boleh menjana nilai rawak secara purata empat kali lebih pantas daripada rand() yang disediakan oleh libc. Ia amat disyorkan untuk menggunakan fungsi mt_rand dan bukannya rand semasa pembangunan.

Jika parameter pilihan min dan maks tidak disediakan, mt_rand() mengembalikan nombor rawak pseudo antara 0 dan mt_getrandmax(). Sebagai contoh, jika anda mahu nombor rawak antara 3 dan 20 (termasuk), gunakan mt_rand(3, 20).

3. Fungsi array_rand

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[array_rand($base)];
}
echo $random;
?>
Salin selepas log masuk

array_rand mengembalikan nilai kunci rawak dalam tatasusunan, yang agak serupa dengan fungsi mt_rand(). istimewa dan boleh digunakan secara fleksibel Itu sahaja.

4. Fungsi shuffle

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
if(shuffle($base)){
 print_r($base);
}
?>
Salin selepas log masuk

Fungsi shuffle adalah untuk mengganggu urutan tatasusunan, yang bermaksud sedikit rawak fungsi. Nilai pulangan ialah nilai bool, yang bersamaan dengan merujuk terus pembolehubah asal.

5. Fungsi str_shuffle

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
echo str_shuffle($base);
?>
Salin selepas log masuk

Fungsi str_shuffle di sini adalah serupa dengan fungsi shuffle Satu-satunya perbezaan ialah nilai pulangan str_shuffle tidak berubah.

6. fungsi uniqid

<?php
echo uniqid();
//54f806528172f
?>
Salin selepas log masuk

uniqid boleh menghasilkan rentetan yang unik, dan skop aplikasi ini boleh menjadi agak luas

Pembelajaran yang disyorkan : " Tutorial video PHP

Atas ialah kandungan terperinci Apakah fungsi yang melaksanakan rawak dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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