Indholdsfortegnelse:
Video: Por qué no me gusta PHP 2025
Mens sløjfen er den primære måde, bortset fra en for loop, af gentagende kode i PHP. Som en HTML5 og CSS3 programmør kan der være tidspunkter, når du vælger den ene over den anden, men det er vigtigt at forstå forskellene mellem de to.
mens sløjfer er meget liggende til sløjfer. De kræver den samme tanke:
-
En forsendelsesvariabel: Denne særlige variabel styrer adgangen til sløjfen. I modsætning til int normalt bruges til sløjfer, kan sentry af en tid loop være enhver type.
-
Initialisering: Indstil begyndelsesværdien af sentrervariabelen, før sløjfen begynder. Forlad ikke standardindstillingerne (fordi du ikke ved, hvad de vil være). I stedet skal du selv angive denne værdi.
-
En betingelse: Mens udsagnet kræver en betingelse. Denne betingelse styrer adgangen til sløjfen. Så længe tilstanden er sand, fortsætter løkken. Så snart tilstanden bedømmes som falsk, udløber sløjfen.
-
En modifikator: Du skal på en eller anden måde ændre værdien af sentryvariablen. Det er vigtigt, at ændringserklæringen sker et sted inde i løkken. I en for-loop tilføjer du næsten eller subtraherer næsten for at ændre en variabel. I et stykke tid kan enhver form for opgaveopgave bruges til at ændre variablen.
for sløjfer er lidt sikrere end under sløjfer, fordi sløjfens struktur kræver, at du tænker på initialisering, tilstand og modifikation. Alle tre funktioner er indbygget i udtalelsen. Denne erklæring kræver kun betingelsen. Dette kan få dig til at tro, at du ikke behøver de andre dele, men det ville være farligt.
I enhver form for loop skal du initialisere sentrervariablen og ændre dens værdi. Med while loop er du ansvarlig for at tilføje disse funktioner selv. Undladelse af at gøre det vil medføre uendelige sløjfer eller sløjfer, der aldrig sker.
Tag et kig på følgende kode for tiden. php program for at se, hvordan det virker:
mens. php img {højde: 40px; bredde: 50px;}Dice Rolling Game 2
Velkommen til terningen rullende spil. Se hvor mange ruller det tager at få seks!
php $ userNumber = 999; $ tæller = 0; mens ($ userNumber! = 6) {$ userNumber = rand (1, 6); print <<< HER HER; $ counter ++;} print "Det tog $ counter forsøger at få en seks.
"; ? >Prøv igen!
Dette eksempel illustrerer, hvordan subtile mens sløjfer kan være. Alle nøgleelementerne er der, men de ser ikke alle udseende som en del af mens løkken.
-
Initialiser $ brugernummer.
For denne sløjfe er $ userNumber den sentriske variabel.Initialiseringen skal sikre, at løkken løber præcist en gang. Fordi betingelsen skal være ($ userNumber! = 6), skal du give $ userNumber en værdi, der klart ikke er 6.999 vil gøre jobbet, og det er vildt nok til at være tydeligt uden for rækkevidde.
Selv om initialiseringstrinnet vises i koden før sløjfen, er det ofte bedst at starte med din tilstand og derefter sikkerhedskopiere en linje, der initialiseres, fordi initialiseringstrinnet afhænger af tilstanden.
-
Indstil tilstanden.
Tænk på, hvad der skal medføre, at sløjfen fortsætter eller afslutter. Husk, at tilstanden forklarer, hvornår sløjfen fortsætter. Det er ofte nemmere at tænke på, hvad der får løkken til at gå ud. Det er fint; bare vende det om. For eksempel, hvis du vil have sløjfen til at afslutte, når $ userNumber er lig med 6, så får du det så længe som $ userNumber! = 6.
-
Rediger skibet.
Denne ene er vanskelig. I dette særlige eksempel skal du ændre sentryvariablen ved at få et nyt tilfældigt tal: $ userNumber = rand (1, 6). Ofte i et stykke tid er modifikationstrinnet iboende for det problem, du løser. Nogle gange får du den nye værdi fra brugeren, nogle gange får du den fra en fil eller database, eller nogle gange tilføjer du bare (ligesom en for loop).
Nøglen her er at sikre, at du har en erklæring, der ændrer sentryvariablen, og at tilstanden kan udløse. For eksempel vil brugen af $ userNumber = rand (1, 5) resultere i en endeløs sløjfe, fordi $ userNumber aldrig kunne være 6.
, mens sløjfer kan forårsage mange problemer, fordi de kan forårsage logiske fejl. Det vil sige, at syntaksen (struktur og stavning af koden) kan være fint, men programmet virker stadig ikke korrekt. Næsten altid kan problemet løses ved at tænke på de tre dele af en velopdragen sløjfe: Initialiser skytten, skab en meningsfuld tilstand og modificer skikkelsen korrekt.