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?
Moet dat niet opgelost worden met CSS?
<?php
$som = 31;
while ($som<=30){
$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;
}
}
?>
Ik neem aan dat je weet wat een array is? Je zult wel alles van je 'cloud' - menu in die ene functie hebben gegooid of niet?

Je hebt nu een heleboel dubbel staan wat nergens voor nodig is. Onderstaande dient alleen maar als voorbeeld voor hoe het ook kan. Komt waarschijnlijk nog wel eens van pas een andere keer.

<?php

# functie voor het genereren van een lijst met maten.

function size_generator(){

# Set array $sizes voor het opslaan van de maat.

$sizes = array();


# Zes stuks aanmaken.

for($i = 1; $i <= 6; $i++){

$sizes[] = mt_rand(4,6);
}


# De som van de maten.

$sum = array_sum($sizes);


# De lijst met maten terug geven als deze kleiner of gelijk is aan 30 of het opnieuw proberen als dat niet het geval is.

return ($sum <= 30) ? $sizes : size_generator() ;

}


# De lijst met font grootes aanmaken.

$font_sizes = size_generator();

?>
@Albert:

Albert de Wit op 06/10/2012 11:55:36

<?php
$som = 31;
while ($som<=30){
// hier komt ie dus nooit
}
?>


- SanThe - op 06/10/2012 12:31:28

@Albert:

[quote="Albert de Wit op 06/10/2012 11:55:36"]
<?php
$som = 31;
while ($som<=30){
// hier komt ie dus nooit
}
?>



[/quote]

Oh sorry, stomme fout van me. het moet dan zijn $som = 29; ?
Bedankt voor al jullie hulp en tips! Ik zie wel dat ik nog erg groen -nee donkergroen- ben op PHP gebied. Vrees dat ik hier wel vaker een vraag achter ga laten :=)

Reageren