script for - endfor werkt niet goed.
Ik ben bezig PHP onder de knie te krijgen en gebruik daarvoor het boekwerkje Basiscursus PHP6 van academic service.
Daarin een script om de werking van for - endfor te begrijpen.
Met include een voor- en een na scriptje, maar het gaat erom wat daar tussen zit.
De echo Worp begint in de browser met de integer 0, maar ik wil de teller Worp met 1 t/m 3 laten werken.
Wie kan mij helpen, alvast dank.
Gewijzigd op 14/09/2010 19:02:58 door Cees vdL
for zeker ook niet?
Dan snap je Jouw link for even bekeken en ja hoor, in tegenstelling tot wat in het boek staat in de for () lus, krijgt de eerste variabele, van de drie, de waarde 1 mee.
Bovendien moet < vervangen worden door <=
In het voorbeeld van het boekje staat een 0 notitie, daarom redeneerde ik zo:
$worpen =0; (1e term)
$worpen <= $maxworpen; (2e term) zolang $worpen kleiner of gelijk
aan $maxworpen, dan
$worpen++ (3e term), dus bij de eerste loop is $Worp al
meteen 0+1 = 1.
En dat snap ik dus niet, Worp begint dan met 0.
Scriptje uit het boekje:
$cijfers = array('een', 'twee', 'drie', 'vier', 'vijf', 'zes');
$maxworpen = 3;
for ( $worpen = 0; $worpen < $maxworpen; $worpen++):
$ogen = mt_rand (1, 6);
$totaal += $ogen;
echo 'Worp ' . $worpen. ': ' .$cijfers[$ogen-1]. '<br />';
endfor;
echo 'Totaalscore: ' .$totaal;
Ook wil ik even zeggen dat for en endfor; ook anders geschreven kunnen worden en wel tussen accolades. Dit vind ik (en velen voor mij) overzichtelijker.
Code (php)
Gewijzigd op 14/09/2010 19:57:00 door Mark L
Mark L op 14/09/2010 19:56:12:
Ook wil ik even zeggen dat for en endfor; ook anders geschreven kunnen worden en wel tussen accolades. Dit vind ik (en velen voor mij) overzichtelijker.
Als je grotere dingen maakt, kan deze manier wel handig zijn. Je weet dan tenminste waar alles voor staat.
Elke oefening noteer ik met Word in een map met een eigen interpretatie.
Het "accolade" scriptje zal ik zeker meenemen.