Dalam artikel sebelum ini, kami memperkenalkan kaedah mengocok elemen tatasusunan secara rawak Jika anda berminat, anda boleh klik untuk membaca → " Pembelajaran tatasusunan PHP: Isih rawak, mengocok elemen tatasusunan ". Dalam artikel berikut, kami akan melihat tentang rawak dan memperkenalkan cara mendapatkan satu atau lebih elemen tatasusunan secara rawak.
Malah, terdapat fungsi tatasusunan array_rand() dalam PHP Fungsinya adalah untuk mendapatkan secara rawak, tetapi ia hanya boleh mendapatkan satu atau lebih nama kunci tatasusunan, tetapi tidak boleh mendapatkan nilai kunci.
Walaupun array_rand() tidak boleh mendapatkan nilai kunci tatasusunan secara langsung, kami menggunakan nama kunci rawak yang diperolehi oleh array_rand() dan menambah beberapa baris kod lagi untuk mencapai pemerolehan unsur secara rawak (kedua-dua nama kunci dan nilai kunci ).
Mari kita lihat kod pelaksanaan:
<?php $arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $rand = array_rand($arr); $arr2[$rand]=$arr[$rand]; var_dump($arr2); ?>
Hasil keluaran:
Ia boleh dilihat bahawa : kami hanya secara rawak Satu elemen diperoleh, kerana pernyataan array_rand($arr)
hanya boleh secara rawak mendapatkan satu nama kunci, jadi bagaimana untuk mendapatkan berbilang nama kunci?
Hanya perlu menetapkan dua parameter kepada fungsi array_rand() Parameter pertama $array
menentukan tatasusunan, dan parameter kedua $number
menentukan bilangan nama kunci yang akan diperolehi.
<?php $arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $rand = array_rand($arr,3); foreach($rand as $val){ $arr2[$val]=$arr[$val]; } var_dump($arr2); ?>
Apabila fungsi array_rand() memperoleh berbilang nama kunci, ia akan mengembalikan tatasusunan yang mengandungi nama kunci rawak.
Dengan cara ini, kita boleh menggunakan pernyataan foreach untuk melintasi tatasusunan $rands
, terus mendapatkan nilai daripada tatasusunan $rands
berdasarkan nama kunci dalam tatasusunan $arrs
dan tetapkan ia kepada tatasusunan baharu $arr2
. Mari kita lihat pada output:
Muat semula dan keputusan berubah:
Nota: array_rand() Jika kuantiti yang diperolehi ($number
) melebihi panjang $array
, ralat E_WARNING akan berlaku dan NULL akan dikembalikan.
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →Tutorial video php
Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!
Atas ialah kandungan terperinci Pembelajaran tatasusunan PHP untuk mendapatkan berbilang elemen secara rawak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!