要恢復打亂后 php 數(shù)組的原始順序,可使用以下步驟:使用 shuffle() 打亂數(shù)組順序。使用 ksort() 恢復原始順序。
PHP 數(shù)組打亂順序后恢復原順序
有時候我們需要對 PHP 數(shù)組進行打亂操作,比如偽隨機抽樣。然而,在某些情況下,我們可能需要恢復數(shù)組的原始順序。
使用 shuffle() 和 ksort()
shuffle() 函數(shù)可以隨機打亂數(shù)組元素的順序。要恢復原始順序,我們可以使用 ksort() 函數(shù)。
<?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
)
登錄后復制
實戰(zhàn)案例:
假設我們有一個包含學生成績的數(shù)組:
$grades = [
'Alice' => 90,
'Bob' => 85,
'Carol' => 95,
'Dave' => 80,
'Eve' => 92,
];
登錄后復制
如果我們想隨機抽取一名學生作為獎學金獲得者,我們可以使用 shuffle() 打亂數(shù)組的順序,然后取第一個元素。
shuffle($grades); $winner = array_shift($grades); echo "獎學金獲得者:$winner";
登錄后復制
輸出:
獎學金獲得者:Bob
登錄后復制
雖然我們打亂了數(shù)組的順序,但 ksort() 函數(shù)可以讓我們在抽取贏家后恢復數(shù)組的原始順序。






