Mange tak, Johan., men ikke helt det jeg leder efter, da det ikke er random,
men specifikt [0] vs [2] og [1] vs [3]. Må prøve at tweake lidt...
"Johan Holst Nielsen" <spam@phpgeek.dk> skrev i en meddelelse
news:4289d3c2$0$79463$14726298@news.sunsite.dk...
> Jens wrote:
>> Dette driller mig - har dette array som indeholder et lige antal hold( i
>> dette eks. 4);
>> Array ( [0] => Array ( [holdID] => 45 [holdNavn] => Hold1 [vundne] => 2
>> [kampe] => 3 [scorePos] => 28 [scoreNeg] => 33 ) [1] => Array ( [holdID]
>> => 44 [holdNavn] => Hold2 [vundne] => 2 [kampe] => 3 [scorePos] => 32
>> [scoreNeg] => 21 ) [2] => Array ( [holdID] => 50 [holdNavn] => Hold3
>> [vundne] => 3 [kampe] => 3 [scorePos] => 33 [scoreNeg] => 9 ) [3] =>
>> Array ( [holdID] => 49 [holdNavn] => Hold4 [vundne] => 2 [kampe] => 3
>> [scorePos] => 22 [scoreNeg] => 22 ) )
>>
>> Jeg gerne have echoet nogle nye kampe ud af det ovenstående array;
>> hold1 VS hold4
>> hold2 VS hold3
>>
>> Men hvordan? Har prøvet nedenstående hvilket jo ikke holder. Løsningen
>> skal gerne være generisk og fungere uafhængigt af hvor mange kampe der
>> skal genereres
Skal jeg hive fat i noget modulos ell. skal mit array
>> manipuleres? Hjælp mig :/
>> for($v = 0; $v < $antalKampe; $v++){ // antalKampe = 2 (4 hold => 2
>> kampe)
>> echo $value[$v]['holdNavn']." vs ". $value[$v+2]['holdNavn'];
>> }
>
> Noget ala dette burde virke:
>
> <?php
>
> function getRand($teams) {
> srand((float)microtime()*10000000);
> return array_rand($teams);
> }
>
> $antalKampe = 2;
>
> $value = array(dine orginaldata);
>
> $teams = $value; //Kopi så vi kan arbejde med det
> for($i=0;$i<$antalKampe;$i++) {
> $r = getRand($teams);
> echo $teams[$r]['holdNavn']
> unset($teams[$r]);
> echo ' vs ';
> $r = getRand($teams);
> echo $teams[$r]['holdNavn']
> unset($teams[$r]);
> echo '<br>';
> }
> ?>
>
> Så kan du selv smide noget ind og ud af funktionerne.
>
> mvh
> johan