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:
Refresh the result and the result will change:
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:
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!