script for - endfor werkt niet goed.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Cees vdL

Cees vdL

14/09/2010 18:41:02
Quote Anchor link
Hallo,

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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php
Gewijzigd op 14/09/2010 19:02:58 door Cees vdL
 
PHP hulp

PHP hulp

27/12/2024 07:15:22
 

14/09/2010 19:02:07
Quote Anchor link
Dan snap je for zeker ook niet?
 
Cees vdL

Cees vdL

14/09/2010 19:31:28
Quote Anchor link
Ik mis bij mijn vràag het scripje, doe iets verkeert zeker, jammer.

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;
 
Mark L

Mark L

14/09/2010 19:56:12
Quote Anchor link
Computers zien de 0 als het eerste getal. In de array $cijfers zal de waarde 'een' ook de key 0 hebben. Zoals je terecht opmerkt, komt uit de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Worp 0: a
Worp 1: b
Worp 2: c
Totaalscore: (a+b+c)


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$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 />';
}


echo 'Totaalscore: ' .$totaal;
?>
Gewijzigd op 14/09/2010 19:57:00 door Mark L
 
Yea Rupie

Yea Rupie

14/09/2010 21:00:41
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
                    }
                }
            }
        }
    }
}

                    endif;

                endfor;
            endif;
        endwhile;
    endif;
endif;

?>
 
Cees vdL

Cees vdL

14/09/2010 21:44:23
Quote Anchor link
Bedankt voor het antwoord Mark.

Elke oefening noteer ik met Word in een map met een eigen interpretatie.
Het "accolade" scriptje zal ik zeker meenemen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.