Heim  >  Artikel  >  Backend-Entwicklung  >  javascript – Problem der zweidimensionalen Array-Reorganisation, während die Schlüsselwerte unverändert bleiben

javascript – Problem der zweidimensionalen Array-Reorganisation, während die Schlüsselwerte unverändert bleiben

WBOY
WBOYOriginal
2016-08-04 09:19:101142Durchsuche

Ich habe ein zweidimensionales Array mit einer festen Anzahl von Elementen und möchte die Reihenfolge des Arrays ändern, während die Schlüsselwerte unverändert bleiben. Mein Array ist wie folgt

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

Mein Array enthält immer nur 5 Daten. Der Hauptgrund ist, dass die darin enthaltenen Schlüsselwerte nicht festgelegt sind. Jedes Mal, wenn die Schlüsselwerte herausgenommen werden, sind sie in der richtigen Reihenfolge zu groß. Aber jetzt muss ich diese Reihenfolge unterbrechen und zur Seite zurückkehren, während die Schlüsselwerte unverändert bleiben. Ich habe versucht, die Funktion shuffle zu verwenden, die die Schlüsselwerte des Arrays direkt entfernt, was nicht das gewünschte Ergebnis ist.

Liebe Meister, können Sie mir eine Referenzmethode geben? Danke

Antwortinhalt:

Ich habe ein zweidimensionales Array mit einer festen Anzahl von Elementen und möchte die Reihenfolge des Arrays ändern, während die Schlüsselwerte unverändert bleiben. Mein Array ist wie folgt

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

Mein Array enthält immer nur 5 Daten. Der Hauptgrund ist, dass die darin enthaltenen Schlüsselwerte nicht festgelegt sind. Jedes Mal, wenn die Schlüsselwerte herausgenommen werden, sind sie in der richtigen Reihenfolge zu groß. Aber jetzt muss ich diese Reihenfolge unterbrechen und zur Seite zurückkehren, während die Schlüsselwerte unverändert bleiben. Ich habe versucht, die Funktion shuffle zu verwenden, die die Schlüsselwerte des Arrays direkt entfernt, was nicht das gewünschte Ergebnis ist.

Liebe Meister, können Sie mir eine Referenzmethode geben? Danke

shuffleDie Funktion setzt den Schlüsselwert des Arrays zurück. Zweidimensionale Arrays erfordern eine gewisse logische Verarbeitung. Bitte beachten Sie das folgende

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

Probieren Sie es vor Ort aus, ich hoffe, es hilft Ihnen

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn