Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menjana Nombor Rawak Berwajaran dalam PHP?

Bagaimanakah Saya Boleh Menjana Nombor Rawak Berwajaran dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-10 16:37:11
asal
574 orang telah melayarinya

How Can I Generate Weighted Random Numbers in PHP?

Penjanaan Nombor Rawak Berwajaran dalam PHP

Soalan ini meneroka cabaran menjana nombor rawak sambil memperuntukkan kebarangkalian berbeza kepada julat tertentu. Dalam PHP, fungsi mt_rand() menyediakan cara untuk menjana integer rawak, tetapi ia tidak membenarkan hasil berwajaran.

Untuk mengatasi had ini, anda boleh menggunakan konsep kebarangkalian berwajaran. Pendekatan ini melibatkan mencipta tatasusunan bersekutu di mana kunci mewakili hasil yang diingini, dan nilai mewakili pemberat masing-masing. Jumlah berat semua hasil hendaklah dijumlahkan kepada berat maksimum yang mungkin.

Untuk menjana hasil rawak berdasarkan pemberat yang disediakan, anda perlu mengira nilai rawak antara 1 dan jumlah berat menggunakan mt_rand () fungsi. Kemudian, lelaran melalui tatasusunan berwajaran dan tolak berat setiap hasil daripada nilai rawak. Hasil pertama apabila nilai rawak menjadi negatif atau sifar dipilih sebagai hasil rawak berwajaran.

Fungsi PHP yang disediakan getRandomWeightedElement() melaksanakan pendekatan ini, membolehkan anda menentukan tatasusunan bersekutu hasil berwajaran dan mengembalikan yang sepadan kunci rawak. Ambil perhatian bahawa pemberat mestilah integer dan pemberat bukan integer mungkin memerlukan penyesuaian tersuai bagi fungsi ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Nombor Rawak Berwajaran 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan