Ich habe ein Array von 30 Werten und ich muss aus diesem Array 3 verschiedene zufällige Werte extrahieren. Wie kann ich es tun?Wählen Sie 3 verschiedene Zufallswerte aus einem Array
Antwort
Schamlos aus der PHP-Handbuch gestohlen:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
Beachten Sie, dass, wie von PHP 5.2.10, können Sie mischen wollen (Randomisierung) der Schlüssel, die über shuffle($rand_keys)
zurückgegeben werden, sonst sind sie immer in Ordnung (kleinster Index zuerst). Das heißt, im obigen Beispiel könntest du "Neo, Trinity" bekommen, aber niemals "Trinity, Neo".
Wenn die Reihenfolge der zufälligen Elemente nicht wichtig ist, dann ist der obige Code ausreichend.
Verwendung shuffle($array)
dann array_rand($array,3)
Gibt es einen besonderen Grund, warum du 'shuffle' nennst? –
nur um sicherzustellen, dass es realllllly zufällig ist :) .. die Geschichte dahinter ist die Tatsache, dass im letzten Jahr mit array_rand ich sah nicht so zufällige Ergebnisse (ähnliche Elemente in aufeinanderfolgenden Läufen), so dass es ein bisschen mehr zufällig Ich würde das Array zuerst mischen und dann die array_rand Funktion zuführen und es schien mehr zufällige Werte zu geben. –
Sie müssen immer noch von den Tasten zu den Werten zu bekommen. –
Ich bin mir nicht sicher, warum die Verwendung von array_rand()
überhaupt zu tun, da es nur ein extra Funktionsaufruf für scheinbar keinen Grund ist. Einfach shuffle()
und die ersten drei Elemente in Scheiben schneiden:
shuffle($array);
print_r(array_slice($array, 0, 3));
Viel sauberer, sollte dies eine akzeptierte Antwort sein –
- 1. MySQL wählen Sie verschiedene Produkte aus 3 Tabellen
- 2. Mysql wählen Sie aus einem Array
- 3. Auswahl Zufallswerte aus Wörterbuch
- 4. C# Wählen Sie verschiedene Werte aus IGrouping
- 5. Wählen Sie verschiedene zurückkehrende undeutliche Zeilen aus
- 6. Kann die Randomize() - Funktion verschiedene Zufallswerte für 2-3 verschiedene Register mit demselben Einschränkungsbereich auswählen?
- 7. Wählen Sie verschiedene Datensätze auf einem Join
- 8. Wählen Sie Werte aus einem Array basiert auf einer Bedingung
- 9. Gespeicherte Prozedur Wählen Sie aus 3 Tabellen
- 10. Wählen Sie aus 3 Tabellen php
- 11. C# verschiedene Namen aus einem Array auswählen
- 12. SQL-Select-Abfrage für Wählen Sie 3 verschiedene Produkte
- 13. Wählen Sie zufällig ein bestimmtes int aus einem 2D-Array
- 14. Wählen Sie eine "Spalte" aus einem Firebase-Array
- 15. Wählen Sie * aus Wählen Sie
- 16. Symfony wählen Sie durch defaut verschiedene Optionen
- 17. Wählen Sie Werte aus einem Array basiert auf einem Booleschen Ausdruck auf einem anderen Array angewendet
- 18. Finden Sie die 3 häufigsten Ganzzahlen aus einem Array
- 19. Wählen Sie aus PLSQL Assoziative Array?
- 20. Wählen Sie aus Array nächstes kommendes Datum
- 21. Wählen Sie verschiedene Werte aus mehreren Spalten in derselben Tabelle
- 22. Wählen Sie verschiedene AWS Cloud
- 23. WIX 3.x: So wählen Sie verschiedene Verzeichnisse für Funktionen im benutzerdefinierten Dialogfeld aus
- 24. Wählen Sie Benutzerdaten aus einem selbstBeziehungsTabelle
- 25. MySQL Wählen Sie aus 3 Tabellen und setzen Sie das in PHP-Array
- 26. String-Array. Wählen Sie
- 27. Wählen Sie ein Array?
- 28. Wählen Sie drei verschiedene Werte aus der Liste in Python
- 29. C# - So wählen Sie verschiedene zufällige Datensätze aus Datentabelle
- 30. Wählen Sie 5 verschiedene Elemente aus einer Liste?
möglich Duplikat [eine Teilmenge von zufälligen Werten aus einem Array PHP Get] (http://stackoverflow.com/questions/3504401/get-a-subset-of -random-values-from-a-array-php) – kennytm