php随机排序、打乱数组的方法:二维数组、多维数组

[ 2020-02-21 14:53:12 | 作者: admin ]
字号: | |
php中的shuffle()函数只能随机打乱一维数组,有什么办法快速便捷的打乱多维数组?
php手册上也提供了参考

随机排序二维数组的函数

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


随机排序多维数组的函数
<?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;
}
?>


以下函数也是出自php手册,可以打乱多维数组:
/**
* 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;
}
[最后修改由 admin, 于 2020-02-21 14:54:32]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2646

这篇日志没有评论。

此日志不可发表评论。