首页 > 文章列表 > PHP数组打乱顺序后如何恢复原顺序?

PHP数组打乱顺序后如何恢复原顺序?

php 数组乱序 恢复原序
219 2024-05-08

要恢复打乱后 PHP 数组的原始顺序,可使用以下步骤:使用 shuffle() 打乱数组顺序。使用 ksort() 恢复原始顺序。

PHP数组打乱顺序后如何恢复原顺序?

PHP 数组打乱顺序后恢复原顺序

有时候我们需要对 PHP 数组进行打乱操作,比如伪随机抽样。然而,在某些情况下,我们可能需要恢复数组的原始顺序。

使用 shuffle()ksort()

shuffle() 函数可以随机打乱数组元素的顺序。要恢复原始顺序,我们可以使用 ksort() 函数。

<?php
$array = [1, 3, 2, 5, 4];

// 打乱顺序
shuffle($array);

// 恢复原始顺序
ksort($array);

print_r($array);
?>

输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

实战案例:

假设我们有一个包含学生成绩的数组:

$grades = [
    'Alice' => 90,
    'Bob' => 85,
    'Carol' => 95,
    'Dave' => 80,
    'Eve' => 92,
];

如果我们想随机抽取一名学生作为奖学金获得者,我们可以使用 shuffle() 打乱数组的顺序,然后取第一个元素。

shuffle($grades);
$winner = array_shift($grades);

echo "奖学金获得者:$winner";

输出:

奖学金获得者:Bob

虽然我们打乱了数组的顺序,但 ksort() 函数可以让我们在抽取赢家后恢复数组的原始顺序。