Wie kann ich ein Array in PHP randomisieren, indem ich einen Seed-Wert erzeuge und die gleiche Reihenfolge bekomme?

8

Ich versuche eine "zufällige" Zeichenfolge basierend auf einer festen Zeichenfolge zu erstellen. Ich möchte, wenn irgend möglich, die gleiche zufällige Zeichenfolge erzeugen (ich weiß, es ist ein Oxymoron), vorausgesetzt, ich benutze den gleichen Samen. so:

%Vor%

Das erwartete Verhalten wäre, dass solange ich die gleiche $base und $seed gebe, immer die gleiche zufällige Zeichenfolge bekomme.

    
Angel S. Moreno 03.07.2010, 00:22
quelle

2 Antworten

10

Entschuldigung, aber entsprechend der Dokumentation wird die Shuffle-Funktion automatisch gesetzt.

>

Normalerweise sollten Sie nicht versuchen, eigene Algorithmen zu entwickeln, um Dinge zu randomisieren, da sie sehr wahrscheinlich voreingenommen sind. Der Fisher-Yates -Algorithmus ist dafür bekannt, sowohl effizient als auch unvoreingenommen zu sein:

%Vor%

Gleiche Funktion für eine Zeichenkette in php7

%Vor%     
André Laszlo 02.07.2011, 15:31
quelle
2

Ja, mit mt_srand können Sie den Startwert für den "besseren" Zufallsgenerator mt_rand angeben.

    
Artefacto 03.07.2010 00:24
quelle

Tags und Links