Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengekstrak beberapa elemen secara rawak dari tatasusunan php (tiga kaedah)
Dalam pembangunan PHP, kita selalunya perlu mengekstrak beberapa elemen secara rawak daripada tatasusunan. Kadangkala, kita perlu memilih secara rawak beberapa pengguna bertuah daripada senarai pengguna untuk memberi hadiah. Atau, kita perlu memilih secara rawak beberapa hidangan daripada susunan menu sebagai hidangan yang disyorkan. Artikel ini akan memperkenalkan cara mengekstrak beberapa elemen secara rawak daripada tatasusunan dalam PHP.
Kaedah 1: Gunakan fungsi shuffle dan array_slice
Fungsi shuffle boleh mengganggu elemen tatasusunan dan menyusun semula setiap elemen dalam tatasusunan secara rawak. Kemudian, gunakan fungsi array_slice untuk mengekstrak bilangan elemen tertentu daripada tatasusunan. Kaedah ini mudah dan mudah difahami serta sesuai untuk tatasusunan kecil.
Kodnya adalah seperti berikut:
<?php $array = array('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); shuffle($array); $rand_keys = array_rand($array, 3); $result = array_slice($array, $rand_keys[0], 3); print_r($result); ?>
Analisis:
Kaedah 2: Gunakan fungsi array_rand
Fungsi array_rand boleh terus mengembalikan indeks satu atau lebih unsur rawak daripada tatasusunan. Kaedah ini berfungsi untuk tatasusunan besar.
Kodnya adalah seperti berikut:
<?php $array = array('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); $rand_keys = array_rand($array, 3); $result = array(); foreach ($rand_keys as $key) { $result[] = $array[$key]; } print_r($result); ?>
Analisis:
Kaedah 3: Gunakan fungsi mt_rand
Fungsi mt_rand boleh mengembalikan integer rawak dalam julat yang ditentukan, jadi ia boleh digunakan untuk menjana kekunci tatasusunan rawak. Kaedah ini agak tidak cekap dan sesuai untuk tatasusunan kecil.
Kodnya adalah seperti berikut:
<?php $array = array('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); $keys = array_keys($array); $total = count($keys); $pick_num = 3; $rand_keys = array(); $result = array(); while (count($rand_keys) < $pick_num) { $rand_keys[] = $keys[mt_rand(0, $total-1)]; } foreach ($rand_keys as $key) { $result[] = $array[$key]; } print_r($result); ?>
Analisis:
Di atas ialah tiga cara untuk memilih beberapa elemen secara rawak daripada tatasusunan PHP. Kaedah yang berbeza boleh dipilih mengikut situasi sebenar Untuk tatasusunan besar, fungsi array_rand boleh dipilih, dsb. Operasi ini kelihatan mudah, tetapi ia boleh meningkatkan pengalaman produk, meningkatkan keseronokan dan memperkaya pengalaman pengguna.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak beberapa elemen secara rawak dari tatasusunan php (tiga kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!