Heb de onderstaande code gemaakt. Maar krijg het niet voor elkaar om de code opnieuw uit te laten voeren...
code:
<?php
$grootte1 = mt_rand(4,6);
$grootte2 = mt_rand(4,6);
$grootte3 = mt_rand(4,6);
$grootte4 = mt_rand(4,6);
$grootte5 = mt_rand(4,6);
$grootte6 = mt_rand(4,6);
$som = $grootte1 + $grootte2 + $grootte3 + $grootte4 + $grootte5 + $grootte6;

if ($som <= 30) {
echo "totaal: $som";
} else {
// retour: bovenstaand opnieuw uitvoeren totdat $som <=30
}
?>

Wat zie ik over het hoofd?
Ik neem aan dat dit een school opdracht is?

anyway,

Je kunt dit doen met een while loop of zelf een functie bouwen die zichzelf herhaalt indien nodig.

maar kijk ook eens naar array's want getallen in var namen is niet mooi.
<?php
do
{
// je ding
} while(.....)
?>
- Mark - op 05/10/2012 12:23:43

Ik neem aan dat dit een school opdracht is?

anyway,

Je kunt dit doen met een while loop of zelf een functie bouwen die zichzelf herhaalt indien nodig.

maar kijk ook eens naar array's want getallen in var namen is niet mooi.




[size=xsmall]Toevoeging op 05/10/2012 21:25:04:[/size]

Mark, bedankt voor je reactie. Tis een soort studie opdrachtje... onderdeel van iets uitgebreiders.
Maar de bedoeling is dat de code (het scriptje) zich herhaald als de uitkomst groter is dan 30. Ik denk dat het heel eenvoudig is, maar het kwartje valt gewoon even niet.
<?php
function eenfunctie()
{
$grootte1 = mt_rand(4,6);
$grootte2 = mt_rand(4,6);
$grootte3 = mt_rand(4,6);
$grootte4 = mt_rand(4,6);
$grootte5 = mt_rand(4,6);
$grootte6 = mt_rand(4,6);
$som = $grootte1 + $grootte2 + $grootte3 + $grootte4 + $grootte5 + $grootte6;

if ($som <= 30) {
echo "totaal:".$som;
} else {
eenfunctie();
}
}
eenfunctie();
?>

ik zou gewoon zo iets doen?
Het eerste voorbeeld is met de do while die SanThe gaf, de tweede is met een functie die zich herhaald en het derde voorbeeld is een verkorte variant op de tweede.

LET OP! Je kunt de tweede en de derde variant niet tegelijker tijd gebruiken want functies mogen niet dezelfde naam hebben.

<?php

# Dan gaan we nu beginnen.

do{

# Array aanmaken met daarin verschillende waarden voor de grote.

$sizes = array(

mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6)

);


# De som van de waardes berekenen.

$sum = array_sum($sizes);


# Controleren of we de som moeten weergeven JA of NEE.

if($sum <= 30){

# De som is kleiner of gelijk aan 30 dus we geven hem weer.

echo 'Totaal: '.$sum;
}

} while ($sum > 30);

?>

<?php

# We gaan door todat de som van de grootes kleiner is dan 30.

function size_sum(){

# Array aanmaken met daarin verschillende waarden voor de grote.

$sizes = array(

mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6)

);


# De som van de waardes berekenen.

$sum = array_sum($sizes);


# Controleren of we de som moeten weergeven of dat we opnieuw moeten proberen.

if($sum <= 30){

# De som is kleiner of gelijk aan 30 dus weergeven die handel.

return 'Totaal: '.$sum;
}
else{

# Helaas, we proberen het opnieuw.

return size_sum();
}
}


# De functie aanroepen.

echo size_sum();

?>

<?php

# We gaan door todat de som van de grootes kleiner is dan 30.

function size_sum(){

# Array aanmaken met daarin verschillende waarden voor de grote.

$sizes = array(

mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6),
mt_rand(4,6)

);


# De som van de waardes berekenen.

$sum = array_sum($sizes);


# Controleren of we de som moeten weergeven of dat we opnieuw moeten proberen.

return ($sum <= 30) ? 'Totaal: '.$sum : size_sum() ;

}


# De functie aanroepen.

echo size_sum();

?>
TOP! Heb voor het eerst een vraag gesteld in dit forum. Bedankt voor jullie oplossingen! Ik kan voorlopig aan de slag.

[size=xsmall]Toevoeging op 05/10/2012 22:11:18:[/size]

De variant die Bo ter Ham gaf werkt als een tierelier. Bedankt allemaal.
ik zou een van de functies van Mark nemen die zijn net iets netter.
Het idee van Bo is eenvoudiger te gebruiken voor de rest van het script. Vandaar dat ik die liever gebruik.
Kan het zijn dat het je eigenlijk alleen maar om de waardes in $grootte1 t/m 6 te doen is?
Hoi Mark,
Ja ik heb een soort 'cloud' -menu gemaakt in de kop van een website. De fontgrootte moet variƫren maar mag samen niet groter zijn dan... anders past het niet. Momenteel ben ik tevreden met hoe het is. Bedankt voor het meedenken.

Reageren