For loop

Status
Niet open voor verdere reacties.

JavaNerd

Gebruiker
Lid geworden
24 jan 2009
Berichten
23
Beste allemaal,

Ik ben net begonnen met php en er is een stukje while code die ik graag wil omzetten in een for-statement. Alleen ik kom er niet helemaal uit, misschien kunnen jullie er even naar kijken hoe de for-statement er dan wel uit moet zien.

Code:
<?php
	$getal = 15;
	$teller = 1;
	$totaal = 0;
	$tekst = "Het totaal van 1 tot en met $getal is:<br>";
	while($teller <= $getal) {
		$totaal += $teller;		
		$tekst .= "+ $teller";	
		$teller++;
	}
	echo("<h2>\$getal = $getal.</h2>");
	echo("<h2>$tekst" . " = $totaal</h2>");
?>

Dit toont dus +1 +2 +3 t/m +15=120 op het scherm. Nu moet het dus in een for-statement, alleen daar kom ik niet zo helemaal uit.

Code:
<?php
$getal = 15;
$tekst = "<h2>Het totaal van 1 tot en met $getal is:</h2>";
	echo("<h2>\$getal = $getal.</h2>");	
	echo("<h2>$tekst");
	
	for($teller=0;$teller<=15;$teller++){
 	echo("+$teller ");
}	
?>
Dit toont dus alleen maar +1 +2 +3 t/m +15 op het scherm en NIET de berekening.

Bij voorbaat dank,
 
Dat kan wel kloppen, je hebt in je for loop namelijk de $totaal += $teller; weggehaald, dus er wordt niet meer opgeteld, en ook het outputten van het totaal is verdwenen...?

Daarnaast begin je je while met 1, dus om de boel gelijk te houden zou je ook de for moeten beginnen met 1.

PHP:
<?php
$getal = 15;
$tekst = "Het totaal van 1 tot en met $getal is:";  
    for($teller=1;$teller<=15;$teller++){
        $totaal += $teller;
        $tekst .= " + $teller";
    }   
    echo("<h2>\$getal = $getal.</h2>"); 
    echo("<h2>$tekst" . " = $totaal</h2>");

?>
 
Ah kijk dus eigenlijk wat er verandert aan de code is dat je de while vervang voor de for statement. Kijk daar kwam ik niet helemaal uit. Thx voor de reactie.
 
Overigens, om nog even een inhoudelijke comment te geven. Dit kan makkelijker met de eenvoudige wiskunde-formule voor somrijen:

PHP:
$aantalTermen = 15;
$totaal = 0.5 * (1 + $aantalTermen) * $aantalTermen;

Scheelt een stukje.

Algemene formule:

PHP:
$totaal = 0.5 * ($eersteTerm + $laatsteTerm) * $aantalTermen;

EDIT: Zie nu dat je de berekening wilt tonen. Dan heb je hier misschien niet zo heel veel aan.
 
De uitkomst wordt nu inderdaad getoond. En over die andere functie die is ook handig lijkt mij nog even uitproberen die.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan