PHP將數組打亂,保留鍵名
php
陣列
效能
php程式設計
後端開發
打亂
排列
保留鍵名
php小編新一為您介紹一個有趣的陣列操作方法-打亂陣列並保留鍵名。在PHP中,透過shuffle函數可以輕鬆實現數組元素的隨機排列,但會重新分配索引。如果想要保留原有鍵名,可以先使用array_keys函數取得鍵名數組,再將其與值數組一起打亂,最後透過array_combine函數重新組合成新數組。這樣就可以在保留鍵名的同時實現數組元素的隨機排列了!
PHP 打亂數組,保留鍵名
在 php 中,使用 shuffle()
函數可以打亂陣列的順序,但不會保留鍵名。要保留鍵名,可以使用下列方法:
方法 1:使用 array_rand()
$array = ["a" => 1, "b" => 2, "c" => 3]; $keys = array_rand($array); $shuffled_array = []; foreach ($keys as $key) { $shuffled_array[$key] = $array[$key]; }
登入後複製
方法 2:使用 mt_rand()
$array = ["a" => 1, "b" => 2, "c" => 3]; $keys = array_keys($array); shuffle($keys); $shuffled_array = []; foreach ($keys as $key) { $shuffled_array[$key] = $array[$key]; }
登入後複製
方法 3:使用第三方函式庫
第三方函式庫,如 ArrayLib
,提供了更方便的方法來打亂數組,保留鍵名:
use ArrayLibArrays; $array = ["a" => 1, "b" => 2, "c" => 3]; $shuffled_array = Arrays::shuffle($array);
登入後複製
效能比較
這三種方法的效能有差異:
-
array_rand()
在小數組中表現最佳,但在大型陣列中效率較低。 -
mt_rand()
在所有陣列大小中都表現良好。 - 第三方函式庫一般比原生 PHP 函數效能更好。
使用場景
打亂數組,保留鍵名在以下場景中很有用:
- 當需要打亂數組中的元素順序,同時仍然需要存取每個元素的鍵時。
- 當需要產生隨機播放清單或其他依序排列的項目清單時。
- 當需要對數組中的資料進行隨機抽樣時。
注意事項
-
array_rand()
和mt_rand()
會傳回一個鍵,而不是值。需要使用$array[$key]
來取得值。 - 第三方函式庫可能需要安裝才能使用。
- 確保在打亂數組之前先複製數組,以避免修改原始數組。
以上是PHP將數組打亂,保留鍵名的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
