首頁  >  文章  >  後端開發  >  javascript - 二維數組保持鍵值不變重組問題

javascript - 二維數組保持鍵值不變重組問題

WBOY
WBOY原創
2016-08-04 09:19:101144瀏覽

我有一個固定條數的二維數組,想在保持鍵值不變的情況下,打亂數組的順序。我的數組如下

<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>

你自己本地試試看,希望對你有幫助

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn