A PHP vezérlési szerkezetei szinte azonosak a Perl-ben megszokottakhoz, bár a formai követelmények kissé szigorúbbak lettek, inkább a C szerkezeteihez hasonlítanak.
Nem használhatunk például postfix alakot az elágazásra, valamint nincs unless sem.
A programblokkat '{ }' jelek közé írjuk:
Használhatunk '{' és '}' helyett ':'-ot, de ekkor kell egy end<tipus> kulcsszó a blokk végére:
A hagyományos egyágú elágazás általános alakja:
A Perl nyelvben gyakorlattal rendelkezők figyeljenek rá, hogy a kulcsszót itt elseif-nek hívják!
Használhatjuk a C-ből ismert '? :' operátor párt is:
Többágú switch elágazás (C-ből átvett):
A switch utasítás kifejezése gyakran egyszerűen egy változó. A switch-hez tartozó programblokkban vannak a case címkék. Az utánuk írt érték kerül összehasonlításra a switch kifejezésének értékével. Ha értékük megegyezik, a program ott folytatódik, a break utasítás pedig azt eredményezi, hogy a program futása a switch blokkja utáni részre kerül. Ha a break-et elfelejtjük, a program átlép a következő case kifejezéshez tartozó programrészre és azt is végrehajtja. Ha a kifejezés értéke egyik előző értékkel sem egyezik és a switch blokkján belül szerepel default címke, akkor az utána levő programrész kerül végrehajtásra.
Ciklusszervezésre több lehetőségünk van: itt is megvan az elől tesztelős (while), a hátul tesztelős (do..while) és a különleges előltesztelős, a mindenki által jól ismert for léptetős ciklus:
A do..while ciklus feltételét tartalmazó zárójel után mindig ki kell tenni a pontosvesszőt.
A feltétel, a számláló_növelése és a változó_hozzárendelése paraméterek helyére bármilyen érvényes PHP állítás írható a for ciklusokban.
A for ciklus fejéből bármelyik kifejezés elhagyható, de figyelnünk kell arra, hogy a pontosvesszőket mindig kiírjuk.
Iterált szerkezeteket a foreach ciklussal is bejárhatunk
Természetesen a számokkal indexelt tömbnek egyszerűbb a bejárása:
Ez a bejárási mód érzéketlen a kihagyott indexekre. A ciklusok természetesen tetszőlegesen egymásba ágyazhatók.
A PHP vezérlésátadó utasításai:
Utasítás | Leírás |
break | Ciklus terminálása |
break n | Kilépés ciklus maximum n-edik mélységéből |
continue | Ciklus léptetése |
continue n | Ciklus léptetése |
declare | Direktívák megadása |
A declare szerkezettel végrehajtási direktívákat adhatunk meg a blokkban lévő utasításokhoz.
Szintaxis:
A blokkban a statment rész fog végrehajtódni a directive-ben meghatározott módon.
Jelenleg egyetlen direktívát ismer a PHP ez pedig a ’tricks’ futtatási direktíva.
A direktíva egy pozitív egész értékét kaphatja.
Ennek hatása, hogy a statment blokkban lévő alacsony szintű utasításonként az előre beállított függvények automatikusan meghívódnak:
E script futása során minden második másodpercben meghívódik az a() és a b() metódus.
A szerkezet alkalmas bizonyos alacsony szintű I/O műveletre, alapvető multitasking-ra, és nyomkövetésre.