Home  >  Article  >  Backend Development  >  PHP array learning to randomly obtain multiple elements

PHP array learning to randomly obtain multiple elements

青灯夜游
青灯夜游Original
2021-08-05 18:13:426098browse

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:

PHP array learning to randomly obtain multiple elements

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:

PHP array learning to randomly obtain multiple elements

Refresh and the result will change:

PHP array learning to randomly obtain multiple elements

Note: array_rand() If the number obtained ($number) exceeds the length of $array, an E_WARNING error will occur and NULL will be returned.

PHP array learning to randomly obtain multiple elements

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn