Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengekstrak beberapa elemen secara rawak dari tatasusunan php (tiga kaedah)

Bagaimana untuk mengekstrak beberapa elemen secara rawak dari tatasusunan php (tiga kaedah)

PHPz
PHPzasal
2023-04-12 09:18:572698semak imbas

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(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
shuffle($array);
$rand_keys = array_rand($array, 3);
$result = array_slice($array, $rand_keys[0], 3);
print_r($result);
?>

Analisis:

  1. Tentukan tatasusunan $array, mengandungi 6 elemen.
  2. Gunakan fungsi shuffle untuk mengisih elemen tatasusunan secara rawak.
  3. Gunakan fungsi tatasusunan_rand untuk mengekstrak kedudukan indeks 3 elemen secara rawak daripada tatasusunan hancur.
  4. Gunakan fungsi array_slice untuk mendapatkan 3 elemen rawak daripada tatasusunan.
  5. Akhir sekali cetak hasilnya.

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(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$rand_keys = array_rand($array, 3);
$result = array();
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

Analisis:

  1. Tentukan tatasusunan $array, mengandungi 6 elemen.
  2. Gunakan fungsi array_rand untuk mendapatkan semula kedudukan indeks 3 elemen rawak daripada tatasusunan.
  3. Gunakan gelung foreach untuk menambah elemen yang diambil secara rawak pada tatasusunan hasil.
  4. Akhir sekali cetak hasilnya.

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(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$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:

  1. Tentukan tatasusunan $array, mengandungi 6 elemen.
  2. Gunakan fungsi array_keys untuk mendapatkan array $key, iaitu koleksi kunci.
  3. Dapatkan jumlah panjang tatasusunan $total.
  4. Tentukan pembolehubah $pick_num, yang mewakili bilangan elemen yang akan dikeluarkan.
  5. Tentukan tatasusunan $rand_keys untuk menyimpan kunci yang diambil secara rawak.
  6. Gunakan gelung untuk menjana kunci rawak sebenar Apabila bilangan $rand_keys mencapai $pick_num, keluar dari gelung.
  7. Gunakan gelung foreach untuk menambah elemen yang diambil secara rawak pada tatasusunan hasil.
  8. Akhir sekali cetak hasilnya.

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!

Kenyataan:
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