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!