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

原创
2016-08-04 09:19:10 763浏览

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

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。