要恢復打亂后 php 數組的原始順序,可使用以下步驟:使用 shuffle() 打亂數組順序。使用 ksort() 恢復原始順序。
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()
函數可以讓我們在抽取贏家后恢復數組的原始順序。