To restore the original order of a shuffled PHP array, use the following steps: Use shuffle() to shuffle the array order. Use ksort() to restore the original order.
Restore the original order after the PHP array is scrambled
Sometimes we need to scramble the PHP array, such as pseudo Random sampling. However, in some cases we may need to restore the original order of the array.
Use shuffle()
and ksort()
shuffle()
function can be randomized Shuffle the order of array elements. To restore the original order, we can use the ksort()
function.
<?php $array = [1, 3, 2, 5, 4]; // 打乱顺序 shuffle($array); // 恢复原始顺序 ksort($array); print_r($array); ?>
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Practical case:
Suppose we have an array containing student grades:
$grades = [ 'Alice' => 90, 'Bob' => 85, 'Carol' => 95, 'Dave' => 80, 'Eve' => 92, ];
If we want to randomly select a student as a scholarship recipient, we can use shuffle()
to shuffle the order of the array and take the first element.
shuffle($grades); $winner = array_shift($grades); echo "奖学金获得者:$winner";
Output:
奖学金获得者:Bob
Although we disrupted the order of the array, the ksort()
function allows us to recover after extracting the winner The original order of the array.
The above is the detailed content of How to restore the original order of a PHP array after it is scrambled?. For more information, please follow other related articles on the PHP Chinese website!