Home  >  Article  >  Backend Development  >  Random sorting of PHP array learning, disrupting array elements

Random sorting of PHP array learning, disrupting array elements

青灯夜游
青灯夜游Original
2021-08-03 12:18:534900browse

In the previous article, we introduced the method of sorting array elements in descending order. If you are interested, you can click on the link to read → " Tips for learning PHP arrays: Use array functions to sort arrays in descending order! 》. So why don't you want to sort in ascending or descending order according to certain rules, but just want to destroy the original order and disrupt the array elements? How do you do this?

Today we will learn how to randomly sort PHP arrays and how to randomly shuffle array elements.

So how to operate? In fact, it is very simple. You can directly use the built-in function shuffle() to achieve it. The shuffle() function rearranges the elements in the array in random order.

Let’s use a code example to see how the shuffle() function randomly shuffles the array.

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
shuffle($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
shuffle($arr2);
var_dump($arr2);
?>

Output result:

Random sorting of PHP array learning, disrupting array elements

Refresh the result and the result will change:

Random sorting of PHP array learning, disrupting array elements

Random sorting of PHP array learning, disrupting array elements

Note: The shuffle() function will not only randomly shuffle the array, but also delete the original key names in the array and assign them new numerical key names (that is, the index will not be maintained relation).

If you want to retain a randomly scrambled array of key names, you can use the array_keys() function.

Idea: Use the array_keys() function to get all the key names of the original array $arr, and a new array $key containing all the key names in the array will be returned. Then use the shuffle() function to randomly shuffle the $key array. Finally, use a foreach loop to traverse the $key array, obtain the key-value pairs of the $arr array based on the value of the $key array, and assign the values ​​to the $arr2 array one by one.

Let’s take a look at the implementation code:

<?php
header("Content-type:text/html;charset=utf-8");
$arr =array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($arr);

if (!empty($arr)) {
    $key =array_keys($arr);
    shuffle($key);
    foreach ($key as $value) {
      $arr2[$value] =$arr[$value];
    }
    $arr =$arr2;
}
echo "随机打乱数组:";
var_dump($arr);
?>

Output result:

Random sorting of PHP array learning, disrupting array elements

That’s it for now, if there is anything else you want to know Yes, 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 Random sorting of PHP array learning, disrupting array 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