php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.09.2009, 02:58  
Benutzer
 
Registriert seit: 10.07.2009
Beiträge: 54
PHP-Kenntnisse:
Fortgeschritten
Peterle befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Arne Drews Beitrag anzeigen
Und was machst Du, wenn Du zwischen 1 und 1.000.000 Zufallszahlen suchst?
Mit range() solltest Du hier auf jeden Fall arbeiten, denke ich...
PHP-Code:
$anzahl 100;
$test = array();
$zahlen = array(0,1,2,3,.....1000);

$test array_rand($zahlen $anzahl);

for(
$i=0$i<$anzahl$i++)
{
  echo 
$zahlen[$test[$i]];

Peterle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.09.2009, 10:08  
Benutzer
 
Benutzerbild von kremser
 
Registriert seit: 25.02.2008
Beiträge: 55
PHP-Kenntnisse:
Anfänger
kremser befindet sich auf einem aufstrebenden Ast
Standard

Habe mir jetzt nur den ersten Post angesehen aber ich würde das so realisieren:

PHP-Code:
 $numbers range(15);
 
shuffle($numbers);
 foreach(
$numbers as $number) {
  echo 
$number;
 } 
kremser ist offline  
Alt 30.09.2009, 18:57  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch
Mußt Du schon den Wert rauslöschen, sonst kann der ja doppelt gezogen werden
Ja nun... Wurde halt vergessen.
Dann erweitern wir die Schleife eben um eine Zeile:
PHP-Code:
for($x=0$x<$limit$x++;) {
  
shuffle($array);
  
$rnd array_splice($array,$x,1);
  
$random[] = $rnd[0];
}

// Wobei es vielleicht auch so geht:
for($x=0$x<$limit$x++;) {
  
shuffle($array);
  
$random array_merge($random,array_splice($array,$x,1));
}

// Und dann evtl. sogar
for($x=0$x<$limit$x++;) $random array_merge($random,array_splice(shuffle($array),$x,1)); 
Und ZACK... haben wir einen Einzeiler.
Das hab ich allerdings nicht getestet...
Vermute aber, daß es funktioniert.

Zitat:
Zitat von nikosch
Ist Shuffle in der Schleife sicher ein Performancekiller. Und zufälliger wirds dadurch auch nicht.
Performance-Killer? Mag sein.. Will ich Dir mal glauben...
Zufälliger? Hab ich auch nicht gesagt.
Gehts denn hier darum, wer die zufälligste Zufallsroutine abliefern kann?
Ich denke eher nicht...

Hauptsache die Zahlen werden gezogen und es ist ein einfach nachzuvollziehendes Beispiel.

Zitat:
Zitat von nikosch
Deine Beispiele sind Murx.
Wegen der beiden Einwände = "Murx."
Ok, dann murx ich eben. Funktioniert und ist einfach nachzuvollziehen!
Dat reicht, denke ich...
Arne Drews ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mt_rand php problem, mt_rand array_rand, mt_rand oder shuffle, php array_rand ohne doppelte, shuffle array php, performance mt_rand, array_rand mt_rand

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum