php打亂數(shù)組二維數(shù)組多維數(shù)組的簡(jiǎn)單實(shí)例

字號(hào):


    下面小編就為大家?guī)硪黄猵hp打亂數(shù)組二維數(shù)組多維數(shù)組的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
    php中的shuffle函數(shù)只能打亂一維數(shù)組,有什么辦法快速便捷的打亂多維數(shù)組?手冊(cè)上提供了
    <?php 
    function shuffle_assoc($list) { 
     if (!is_array($list)) return $list; 
     $keys = array_keys($list); 
     shuffle($keys); 
     $random = array(); 
     foreach ($keys as $key) 
      $random[$key] = $list[$key]; 
     return $random; 
    } 
    ?>
    上面這個(gè)是針對(duì)二維數(shù)組的!
    下面針對(duì)多維數(shù)組的亂序方法?盡可能的方便快速:
    <?php 
    function shuffle_assoc($list) { 
    if (!is_array($list)) return $list; 
    $keys = array_keys($list); 
    shuffle($keys); 
    $random = array(); 
    foreach ($keys as $key) 
    $random[$key] = shuffle_assoc($list[$key]); 
    return $random; 
    } 
    ?>
    以下函數(shù)也是出自php手冊(cè),可以打亂多維數(shù)組:
    /**
    * Shuffles an associative array recursive
    * 
    * @param array $array
    * @return array
    *
    */
    function rec_assoc_shuffle($array)
    {
     $ary_keys = array_keys($array);
     $ary_values = array_values($array);
     shuffle($ary_values);
     foreach($ary_keys as $key => $value) {
      if (is_array($ary_values[$key]) AND $ary_values[$key] != NULL) {
       $ary_values[$key] = rec_assoc_shuffle($ary_values[$key]);
      }
      $new[$value] = $ary_values[$key];
     }
     return $new;
    }
    以上就是小編為大家?guī)淼膒hp打亂數(shù)組二維數(shù)組多維數(shù)組的簡(jiǎn)單實(shí)例全部?jī)?nèi)容了