PHP mischt das Array und behält die Schlüsselnamen bei

王林
Freigeben: 2024-03-21 13:48:01
nach vorne
1002 Leute haben es durchsucht

Der PHP-Editor Xinyi stellt Ihnen eine interessante Array-Operationsmethode vor – das Mischen des Arrays und das Beibehalten der Schlüsselnamen. In PHP kann eine zufällige Anordnung von Array-Elementen leicht durch die Shuffle-Funktion erreicht werden, die Indizes werden jedoch neu zugewiesen. Wenn Sie die ursprünglichen Schlüsselnamen beibehalten möchten, können Sie zunächst die Funktion array_keys verwenden, um das Schlüsselnamen-Array abzurufen, es dann mit dem Werte-Array zu verschlüsseln und es schließlich über die Funktion array_combine wieder zu einem neuen Array zu kombinieren. Auf diese Weise können Sie eine zufällige Anordnung der Array-Elemente erreichen und dabei die Schlüsselnamen beibehalten!

PHP mischt das Array und behält die Schlüsselnamen bei

In php kann die Verwendung der Funktion shuffle() die Reihenfolge des Arrays ändern, die Schlüsselnamen bleiben jedoch nicht erhalten. Um Schlüsselnamen beizubehalten, können Sie die folgende Methode verwenden:

Methode 1: Verwenden Sie array_rand()

$array = ["a" => 1, "b" => 2, "c" => 3];

$keys = array_rand($array);
$shuffled_array = [];

foreach ($keys as $key) {
$shuffled_array[$key] = $array[$key];
}
Nach dem Login kopieren

Methode 2: Verwenden Sie mt_rand()

$array = ["a" => 1, "b" => 2, "c" => 3];

$keys = array_keys($array);
shuffle($keys);

$shuffled_array = [];

foreach ($keys as $key) {
$shuffled_array[$key] = $array[$key];
}
Nach dem Login kopieren

Methode 3: Bibliotheken von Drittanbietern verwenden

Bibliotheken von Drittanbietern wie ArrayLib bieten eine bequemere Möglichkeit, Arrays zu mischen und Schlüsselnamen beizubehalten:

use ArrayLibArrays;

$array = ["a" => 1, "b" => 2, "c" => 3];

$shuffled_array = Arrays::shuffle($array);
Nach dem Login kopieren

Leistungsvergleich

Es gibt Unterschiede in der Leistung dieser drei Methoden:

  • array_rand() Funktioniert am besten bei kleinen Arrays, ist jedoch bei großen Arrays weniger effizient.
  • mt_rand() Gute Leistung bei allen Array-Größen.
  • Bibliotheken von Drittanbietern bieten im Allgemeinen eine bessere Leistung als native PHP-Funktionen.

Nutzungsszenarien

Das Verschieben von Arrays und das Beibehalten von Schlüsselnamen ist in den folgenden Szenarien nützlich:

  • Wenn Sie die Reihenfolge der Elemente in einem Array ändern müssen und gleichzeitig auf die Schlüssel jedes Elements zugreifen müssen.
  • Wenn Sie eine zufällige Wiedergabeliste oder eine andere geordnete Liste von Elementen erstellen müssen.
  • Wenn eine zufällige Stichprobe von Daten in einem Array erforderlich ist.

Notizen

  • array_rand()mt_rand() 会返回一个键,而不是值。需要使用 $array[$key] und
  • geben einen Schlüssel zurück, keinen Wert. Sie müssen $array[$key] verwenden, um den Wert zu erhalten.
  • Bibliotheken von Drittanbietern müssen möglicherweise installiert werden, bevor sie verwendet werden können.
  • Stellen Sie sicher, dass Sie das Array kopieren, bevor Sie es mischen, um eine Änderung des ursprünglichen Arrays zu vermeiden.
🎜

Das obige ist der detaillierte Inhalt vonPHP mischt das Array und behält die Schlüsselnamen bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lsjlt.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!