פרק 11. מבני-בקרה

תוכן העניינים:
if
else
elseif
תחביר אלטרנטיבי למבני-בקרה
while
do..while
for
foreach
break
continue
switch
declare
return
require()
include()
require_once()
include_once()

כל סקריפט PHP בנוי מרצף של פקודות. פקודה יכולה להיות פקודת הצבה, קריאה לפונקציה, לולאה, התנייה או אפילו פקודה שלא עשה דבר (הכרזה ריקה). פקודות מסתיימות בדך-כלל בסמיקולון ';'. בנוסף, ניתן לאגד קבוצה של פקודות לבלוק של פקודות בעזרת סוגריים מסולסלים וכך קבוצת פקודות יכולה להחשב כפקודה אחת. בפרק זה מתוארים סוגי פקודות שונים.

if

מבנה פקודת ה- if הוא אחד המבנים החשובים ביותר בהרבה שפות תכנות לרבות PHP. פקודה זו מאפשרת התנייה של ריצת חלקי קוד. מבנה פקודת if ב- PHP דומה למבנה if בשפת C:

if (expr)
    statement

כמתואר בסעיף על ביטויים, expr מוערך לערכו הבולאני. אם expr מוערך כ- TRUE, PHP תבצע את statement, ואם הביטוי מוערך כ- TRUE, לא תתבצע אף פקודה. מידע נוסף בנושא - אילו ערכים מתאימים לערך ה FALSE ניתן למצוא בסעיף 'המרה לערך בולאני'.

הדוגמה הבאה תדפיס a is bigger than b אם $a גדול מ- $b:

if ($a > $b)
    print "a is bigger than b";

לעיתים תהיו מעוניינים בהרצת מספר פקודות בתנאי מסויים. כמובן, אין צורך להתנות כל פקודה בנפרד במשפט if. אפשר פשוט ליצור קבוצת פקודות. לדוגמה, הסקריפט הבא ידפיס a is bigger than b אם $a גדול מ- $b, ויציב ערכו של $a לתוך המשתנה $b:

if ($a > $b) {
    print "a is bigger than b";
    $b = $a;
}

התניה זו יכולה להיות מקוננת בתוך משפטי if אחרים. דבר המאפשר גמישות רבה בהתניית חלקי התוכנה שלכם.