Home  >  Article  >  Backend Development  >  How to randomly remove array elements in php

How to randomly remove array elements in php

PHPz
PHPzOriginal
2023-04-23 10:14:463850browse

In PHP arrays, randomly obtaining one or more elements from an array may be a very useful and convenient operation. This article will introduce how to use PHP built-in functions and custom functions to randomly extract elements from an array.

1. Use the array_rand() function

PHP has a built-in function called array_rand(), which can randomly obtain one or more keys from the array and return a number with a random key name. Index array. The following is a simple example of using this function:

$fruits = array("apple", "banana", "orange", "grape");
$rand_key = array_rand($fruits);
echo $fruits[$rand_key]; // 随机输出一个水果

Here, a simple fruit array $fruits is taken out randomly, and the returned random key name is used to obtain the value of the fruit and output.

When you need to randomly obtain multiple elements from the array, you can specify the number to obtain:

$rand_keys = array_rand($fruits, 2); // 获取两个随机键名
foreach($rand_keys as $key){
    echo $fruits[$key] . "<br>"; // 循环输出两个随机水果
}

Here, pass the $fruits array and the specified quantity to the array_rand() function, Returns an array $rand_keys containing two random key names. Then use a foreach loop to traverse $rand_keys, obtain the corresponding fruit value and output it.

2. Custom functions

In addition to using built-in functions, you can also customize functions to randomly obtain elements from an array. A function rand_array() is provided here:

function rand_array($array, $num = 1){
    $rand_keys = array_rand($array, $num);
    if($num == 1){
        return $array[$rand_keys];
    }else{
        $result = array();
        foreach($rand_keys as $key){
            $result[] = $array[$key];
        }
        return $result;
    }
}

This function accepts an array and an optional required number of elements as parameters, and returns one or more random element values. When the $num parameter is equal to 1, the function returns a single random element value, otherwise an array of element values ​​is returned.

Using this function can easily obtain random elements from the array:

$fruits = array("apple", "banana", "orange", "grape");
echo rand_array($fruits); // 随机输出一个水果
print_r(rand_array($fruits, 2)); // 随机输出两个水果

The output results are:

orange
Array ( [0] => banana [1] => grape )

3. Summary

Use built-in The function array_rand() or the custom function rand_array() can easily obtain random elements from a PHP array, and is suitable for various occasions when selecting random values. Just choose the appropriate method according to actual needs.

The above is the detailed content of How to randomly remove array elements in php. 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