Home  >  Article  >  Backend Development  >  How to generate random array in php

How to generate random array in php

PHPz
PHPzOriginal
2023-04-26 10:21:061107browse

In PHP, there are many ways to randomly generate arrays, among which using the array_rand() function may be one of the simplest methods. The following will introduce in detail the usage of the array_rand() function and other ways to randomly generate arrays.

1. Use the array_rand() function

The array_rand() function can return one or more random key names from an array. Therefore, we need to create an array first, and then use the array_rand() function to randomly return one or more key names from it and use them to create a new array. The sample code is as follows:

<?php
$my_array = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "durian");
$random_keys = array_rand($my_array, 2); // 随机返回2个键名
$random_array = array();
foreach ($random_keys as $key) {
    $random_array[$key] = $my_array[$key];
}
print_r($random_array);
?>

The above code first creates an associative array $my_array containing 4 elements, and then uses the array_rand() function to return 2 random key names. Then, by traversing the random key names, the corresponding elements are copied to a new associative array $random_array. Running the above code, you may get the following output:

Array
(
    [d] => durian
    [a] => apple
)

2. Use the shuffle() function and array_slice() function

The shuffle() function can randomly shuffle the elements in an array, and array_slice () function can return part of the elements in the array. Therefore, we can first use the shuffle() function to scramble the original array, and then use the array_slice() function to return part of the elements, thereby obtaining a randomly generated array. The sample code is as follows:

<?php
$my_array = array("apple", "banana", "cherry", "durian");
shuffle($my_array); // 打乱原数组的顺序
$random_array = array_slice($my_array, 0, 2); // 返回前2个元素
print_r($random_array);
?>

The above code first creates an index array $my_array containing 4 elements, and then uses the shuffle() function to shuffle their order. Finally, use the array_slice() function to return the first 2 elements and obtain a randomly generated index array $random_array. Running the above code, you may get the following output:

Array
(
    [0] => cherry
    [1] => apple
)

3. Use the range() function and shuffle() function

The range() function can generate a continuous integer or character, and shuffle() ) function can randomly shuffle the elements in an array. Therefore, we can first use the range() function to generate a continuous array of integers or characters, and then use the shuffle() function to disrupt their order and obtain a randomly generated array. The sample code is as follows:

<?php
$my_array = range(1, 10); // 生成1到10这10个连续整数
shuffle($my_array); // 打乱它们的顺序
$random_array = array_slice($my_array, 0, 3); // 返回前3个元素
print_r($random_array);
?>

The above code generates an array $my_array containing 10 consecutive integers, then shuffles their order, and then returns the first 3 elements to obtain a randomly generated index array $random_array. Running the above code, you may get the following output:

Array
(
    [0] => 7
    [1] => 5
    [2] => 1
)

Summary:

The above three methods can be used to randomly generate arrays, and different methods are suitable for different scenarios. The array_rand() function is suitable for randomly selecting elements from an associative array, the shuffle() function is suitable for shuffling the order of an existing array, and the range() function is suitable for randomly generating a set of consecutive integers. or character situation. Different methods need to be chosen depending on the specific situation.

The above is the detailed content of How to generate random array 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