Jörg Reinholz: Zufällig aus array auswählen

Beitrag lesen

Noch ein Test:

<?php  
$erste=4;  
$wiederholungen=1000000;  
$ar=array(1,2,3,4,5,6,7,8,9,0);  
$e=array(0,0,0,0,0,0,0,0,0,0);  
  
for( $i=0; $i < $wiederholungen; $i++ ) {  
	$as=$ar;  
	shuffle($as);  
	for ($k=0; $k<$erste; $k++) {  
	    $z=array_shift($as);  
	    $e[$z]++;  
	    #print "$z, ";  
	}  
	#print "\n";  
	# Ab hier ist übrigens nur noch der Rest in $as ...  
}  
print_r ($e)  
?>

Ergebnis:

Array
(
    [0] => 399801
    [1] => 399465
    [2] => 400351
    [3] => 400778
    [4] => 400199
    [5] => 399426
    [6] => 399088
    [7] => 400522
    [8] => 400030
    [9] => 400340
)

Ist auch gut verteilt...eine Annäherung an 40% (~ 400000) wäre der nach unendlich vielen Wiederholungen zu erwartende Zustand gewesen.

Jörg Reinholz