php保留鍵隨機打亂數組順序


最近遇到一個需求,把一個數組隨機打亂順序,我們可以用php的shuffle函數,但是這個函數會把數組的鍵清空建立新的鍵,那么我們若想保留鍵只需要利用shuffle函數再做一下處理就可以了。可以自定義一個函數。

<?php
function retain_key_shuffle(array &$arr){
  if (!empty($arr)) {
    $key = array_keys($arr);
    shuffle($key);
    foreach ($key as $value) {
      $arr2[$value] = $arr[$value];
    }
    $arr = $arr2;
  }
}
?>

通過調用上面的函數就可以獲得保留鍵順序打亂新的數組了。

<?php
$arr = array('a' => 'A', 'b' => 'B');
retain_key_shuffle($arr);
var_export($arr);
?>

輸出隨機打亂順序后的數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM