• 技术文章 >后端开发 >php教程

    javascript - 二维数组保持键值不变重组问题

    2016-08-04 09:19:10原创443
    我有一个固定条数的二维数组,想在保持键值不变的情况下,打乱数组的顺序。我的数组如下

    $result = ['12'=>[], '14'=>[], '15'=>[], '17'=>[], '23'=>[]]

    我的这个数组永远只有5条数据,主要是里面的键值是不固定的,每次取出来键值都是从小到大的顺序。但是现在我需要在保持键值不变的情况下打乱这个顺序返回到页面上。我已经用shuffle函数试了,直接把数组的键值给干掉了,不是我想要的结果。

    各位大神,能不能给个方法参考参考,谢谢

    回复内容:

    我有一个固定条数的二维数组,想在保持键值不变的情况下,打乱数组的顺序。我的数组如下

    $result = ['12'=>[], '14'=>[], '15'=>[], '17'=>[], '23'=>[]]

    我的这个数组永远只有5条数据,主要是里面的键值是不固定的,每次取出来键值都是从小到大的顺序。但是现在我需要在保持键值不变的情况下打乱这个顺序返回到页面上。我已经用shuffle函数试了,直接把数组的键值给干掉了,不是我想要的结果。

    各位大神,能不能给个方法参考参考,谢谢

    shuffle函数会把数组的键值重置的。二维数组需要逻辑做一下处理。参考如下

    function arrayOrderBy($array=[]){
        //获取键值
        $keys = array_keys($array);
        //打乱键值
        shuffle($keys);
        $random = [];
        //数组重组
        foreach($keys as $key){
            $random[$key] = $array[$key];
        }
        return $random;
    }

    你自己本地试试看看,希望对你有帮助

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php javascript
    上一篇:开了opcache之后,wordpress完全无响应了? 下一篇:支付宝有密退款接口一直回复“支付宝系统错误”
    大前端线上培训班

    相关文章推荐

    • PHP中怎样完成Cookie的创建、读取和删除?• PHP中怎样完成Session的设置、获取和删除?• 带你分清类中的构造函数与析构函数• PHP中的命名空间定义与使用(实例详解)• PHP中clone关键字和__clone()方法的使用(实例详解)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网