首頁  >  文章  >  後端開發  >  PHP數組學習隨機排序,打亂數組元素

PHP數組學習隨機排序,打亂數組元素

青灯夜游
青灯夜游原創
2021-08-03 12:18:534832瀏覽

在上一篇的文章中我們介紹了數組元素進行降序排序的方法,感興趣的可以點擊鏈接查閱→《PHP數組學習之巧用數組函數對數組進行降序排序! 》。那麼如何不想按一定的規則來升序或降序排序,而只是想要破壞原有順序,打亂數組元素,這要怎麼操作呢?

今天我們就來學習PHP陣列如何進行隨機排序,如何隨機打亂陣列元素。

那麼要怎麼操作呢?其實很簡單,直接使用內建函數shuffle()即可實現。 shuffle()函數會將陣列中的元素依隨機順序重新排列。

下面我們就來透過程式碼實例來看看shuffle()函數怎麼隨機打亂陣列。

<?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);
?>

輸出結果:

PHP數組學習隨機排序,打亂數組元素

刷新一下,結果就改變了:

PHP數組學習隨機排序,打亂數組元素

PHP數組學習隨機排序,打亂數組元素

說明:shuffle()函數不僅會將陣列隨機打亂,還會刪除陣列中原有的鍵名,並為其賦與新的數值鍵名(即不會保持索引關係)。

如果想要保留鍵名的隨機打亂數組,可以藉助array_keys()函數。

想法:使用array_keys()函數取得原始數組$arr的所有鍵名,會傳回包含數組中所有鍵名的一個新數組$key。然後使用shuffle()函數隨機打亂這個$key數組。最後使用foreach迴圈遍歷$key數組,根據$key數組的值,取得$arr數組的鍵值對,並一一賦值給$arr2數組即可。

我們來看看實作程式碼:

<?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);
?>

輸出結果:

PHP數組學習隨機排序,打亂數組元素

好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學

最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!

以上是PHP數組學習隨機排序,打亂數組元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn