• 海风资讯网
 
您的位置:首页 > 站长资讯

php打乱数组二维数组多维数组

2020-08-01 15:45:04  来源:海风资讯网

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了

    1. <?php
    2. functionshuffle_assoc($list){
    3. if(!is_array($list))return$list;
    4. $keys=array_keys($list);
    5. shuffle($keys);
    6. $random=array();
    7. foreach($keysas$key)
    8. $random[$key]=$list[$key];
    9. return$random;
    10. }
    11. ?>

    上面这个是针对二维数组的!

    下面针对多维数组的乱序方法?尽可能的方便快速:

    1. <?php
    2. functionshuffle_assoc($list){
    3. if(!is_array($list))return$list;
    4. $keys=array_keys($list);
    5. shuffle($keys);
    6. $random=array();
    7. foreach($keysas$key)
    8. $random[$key]=shuffle_assoc($list[$key]);
    9. return$random;
    10. }
    11. ?>

    以下函数也是出自php手册,可以打乱多维数组:

    1. /**
    2. *Shufflesanassociativearrayrecursive
    3. *
    4. *@paramarray$array
    5. *@returnarray
    6. *
    7. */
    8. functionrec_assoc_shuffle($array)
    9. {
    10. $ary_keys=array_keys($array);
    11. $ary_values=array_values($array);
    12. shuffle($ary_values);
    13. foreach($ary_keysas$key=>$value){
    14. if(is_array($ary_values[$key])AND$ary_values[$key]!=NULL){
    15. $ary_values[$key]=rec_assoc_shuffle($ary_values[$key]);
    16. }
    17. $new[$value]=$ary_values[$key];
    18. }
    19. return$new;
    20. }


    公安局软包 hkjum1198404.51sole.com