欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-04 21:50:37
...
我有一个固定条数的二维数组,想在保持键值不变的情况下,打乱数组的顺序。我的数组如下
$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 javascript