Maison  >  Article  >  développement back-end  >  javascript - 二维数组保持键值不变重组问题

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

WBOY
WBOYoriginal
2016-08-04 09:19:101144parcourir

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

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

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

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

回复内容:

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

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

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

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn