Aktueller Standort: Startseite> Neueste Artikel> Techniken und Methoden für PHP -Arrays, um die zurückgehaltenen Schlüsselnamen zu stören

Techniken und Methoden für PHP -Arrays, um die zurückgehaltenen Schlüsselnamen zu stören

M66 2025-07-30

Techniken und Methoden für PHP -Arrays, um die zurückgehaltenen Schlüsselnamen zu stören

In der PHP -Entwicklung ist es häufig notwendig, auf Arrays zu arbeiten. Eine häufige Anforderung besteht darin, die Elementreihenfolge des Arrays zu stören und die ursprünglichen Schlüsselnamen zu erhalten. Obwohl Shuffle () von PHP die Reihenfolge des Arrays stören kann, verliert sie den Schlüsselnamen. Um die Schlüsselnamen zu erhalten, können wir einige andere Strategien anwenden.

Methode 1: Verwenden Sie die Funktion array_rand ()

Zunächst können wir die Funktion array_rand () verwenden, um die Schlüsselnamen im Array zufällig auszuwählen und das durcheinandergebrachte Array zu regenerieren, indem sie diese Schlüsselnamen beibehalten.

 $array = ["a" => 1, "b" => 2, "c" => 3];
$keys = array_rand($array, count($array));
$shuffled_array = [];
foreach ($keys as $key) {
    $shuffled_array[$key] = $array[$key];
}

Methode 2: Verwenden Sie die Funktion mt_rand ()

Eine weitere häufige Methode besteht darin, die Funktion mt_rand () zu verwenden, die in allen Arrays besser abschneidet. Wir können die Schlüsselnamen des Arrays über Array_keys () erhalten und Shuffle () verwenden, um diese Schlüsselnamen zu stören, und dann ein Neuarray basierend auf den gestörten Schlüsselnamen zu generieren.

 $array = ["a" => 1, "b" => 2, "c" => 3];
$keys = array_keys($array);
shuffle($keys);
$shuffled_array = [];
foreach ($keys as $key) {
    $shuffled_array[$key] = $array[$key];
}

Methode 3: Verwenden Sie eine Bibliothek von Drittanbietern

Wenn Sie es vorziehen, fertige Lösungen zu verwenden, sollten Sie eine Bibliothek von Drittanbietern wie Arraylib verwenden. Diese Bibliotheken bieten normalerweise eine prägnantere und effizientere Möglichkeit, Arrays zu betreiben.

 use ArrayLibArrays;
$array = ["a" => 1, "b" => 2, "c" => 3];
$shuffled_array = Arrays::shuffle($array);

Leistungsvergleich

Die Leistung der drei Methoden variiert für Arrays unterschiedlicher Größen:

  • array_rand () : Die Leistung ist in kleinen Arrays besser, aber die Effizienz nimmt mit zunehmendem Arraygröße ab.
  • MT_RAND () : Unabhängig von der Größe des Arrays führt es ausgewogen aus.
  • Bibliotheken von Drittanbietern : bieten normalerweise eine bessere Leistung, insbesondere für große Datenvolumina.

Szenarien verwenden

In den folgenden Szenarien ist es sehr nützlich, das Array zu stören und die Schlüsselnamen zu erhalten:

  • Wenn die Reihenfolge des Arrays gestört werden muss, wodurch sichergestellt wird, dass auf die Schlüsselnamen jedes Elements zugegriffen werden können.
  • Wenn es notwendig ist, eine Shuffle -Liste oder eine Elementreihenfolge zu generieren.
  • Wenn eine zufällige Stichprobe von Array -Daten erforderlich ist.

Dinge zu beachten

  • array_rand () und mt_rand () gibt zufällig ausgewählte Schlüssel zurück, keine Werte. Um den Wert zu erhalten, müssen Sie $ Array [$ key] verwenden.
  • Bei Verwendung von Bibliotheken von Drittanbietern müssen Sie möglicherweise zuerst die entsprechenden Bibliotheken installieren.
  • Vor der Störung des Arrays wird empfohlen, das ursprüngliche Array zuerst zu kopieren, um zu vermeiden, dass die Originaldaten geändert werden.

Zusammenfassend bietet PHP verschiedene Methoden, um das Array zu stören und die Schlüsselnamen beizubehalten, und Entwickler können die am besten geeignete Methode entsprechend den tatsächlichen Anforderungen auswählen.