Home > Article > Backend Development > PHP array learning to randomly obtain multiple elements
In the previous article, we introduced the method of randomly shuffling array elements. If you are interested, you can click to read → "PHP Array Learning: Random Sorting, Shuffling Array Elements". In the following article, we will take a look at randomness and introduce how to randomly obtain one or more array elements.
In fact, there is an array function array_rand() in PHP. Its function is to obtain randomly, but it can only obtain one or more array key names, but cannot obtain key values.
Although array_rand() cannot directly obtain the array key value, we use the random key name obtained by array_rand() and add a few more lines of code to achieve random acquisition of elements (both key name and key value).
Let’s take a look at the implementation code:
<?php $arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $rand = array_rand($arr); $arr2[$rand]=$arr[$rand]; var_dump($arr2); ?>
Output result:
It can be seen that: we only get it randomly An element, because the array_rand($arr)
statement can only randomly obtain one key name, so how to obtain multiple key names?
You only need to set two parameters to the array_rand() function. The first parameter $array
specifies the array, and the second parameter $number
specifies the number to be obtained. The number of key names.
<?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); ?>
When the array_rand() function obtains multiple key names, it will return an array containing random key names.
In this way, we can use the foreach statement to traverse the $rands
array, and continuously start from $arrs
based on the key names in the $rands
array. Just get the value from the array and assign it to the new array $arr2
. Let’s take a look at the output:
Refresh and the result will change:
Note: array_rand() If the number obtained ($number
) exceeds the length of $array
, an E_WARNING error will occur and NULL will be returned.
Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial
Finally, I would like to recommend a free video tutorial on PHP arrays: PHP function array array function video explanation, come and learn!
The above is the detailed content of PHP array learning to randomly obtain multiple elements. For more information, please follow other related articles on the PHP Chinese website!