פרק 9. Expressions - ביטויים

ביטויים הם אחד מאבני הייסוד הכי חשובים ב PHP . ב PHP , כמעט כל דבר שכותבים הוא ביטוי . הדרך הפשוטה והמדוייקת ביותר להגדיר את המונח " ביטוי " היא "כל דבר שיש לו ערך " .

הצורה הבסיסית ביותר של " ביטוים " הם קבועים ומשתנים . כאשר מקלידים "$a = 5" , למעשה מציבים את הערך '5 ' לתוך $a . למספר '5' , יש כמובן את הערך 5 , או במילים אחרות '5 ' הוא ביטוי עם הערך 5 (במקרה שלנו , '5 ' הוא קבוע מסוג מס ' שלם ) .

אחרי ההצבה הנ" ל , כצפוי הערך של $a's הוא 5 . כמו כן , אם ייתכב בתוכנית $b = $a , התוצאה תהיה כאילו נכתב $b = 5 . במילים אחרות , $a הוא "ביטוי " עם הערך 5 גם כן .

דוגמאא מעט יותר מורכבת " לביטויים " הם פונקציות . למשל , הבא נבחן את הדוגמא הבאה :






בהנחה שיש לך היכרות עם הנושא של פונקציות ( אם התשובה שלילית תן הצצה בפרק הדן ב"פונקציות") , אתה בטח מניח שהביטוי $c = foo( ) הוא ביסודו ממש כמו כתיבת $c = 5 , וכמבן שאתה צודק . פונקציות הן ביטויים עם הערך שהן עצמן מחזירות . מאחר ו foo( ) מחזיר את הערך 5 , אפשר לאמר שהערך של הפונקציה 'foo() ' הוא 5 . לרוב , פוקנקציות לא רק מחזירות ערך סטטי , אלא גם מבצעות חישוב כלשהו .

כמבון , ערכים ב PHP לא חייבים להיות integers ( מספרים שלמים ) , ולעיתים קרובות הם לא . PHP תומכת בשלושה ערכים סקאלריים ( הסבר בהמשך) : מספרים שלמים , ערכי נקודה צפה (מספרים לא שלמים ) וערכי מחרוזת (ערכים סקלריים-scalar - הם ערכים שלא ניתן ל"שבור " לחקלים קטנים יותר , להבדיל למשל ממערכים ) . PHP תומכת כמובן בשני סוגי ערכים מורכבים( non-scalar ) : מערכים ואובייקטים . כל אחד מסוג ערכים זה יכול להיות מוקצה לתוך משתנה או או להיות מוחזר מתוך פונקציות .

לפי שעה , משתמשים של PHP / FI 2 לא צריכים להרגיש כל שינוי . בכל מקרה , PHP לקחו את " הביטויים " רחוק יותר , ממש כפי שעשו שפות רבות אחרות . PHP היא שפה מונחית ביטויים , מהבחינה שכמעט כל דבר בשפה מבוסס על ביטויים . אפשר לחשוב על על הדוגמא שכבר עסקנו בא , ' $a = 5' . קל מאוד לראות שמעורבים בה 2 ערכים , הערך של הקבוע השלם '5' , והערך של $a שלמעשה עודכן להיות גם הוא 5 . למען האמת יש במקרה הנדון עוד ערך נוסף שמעורב , וההערך הוא ההצבה עצמה . ההצבה עצמה יוצרת ערך גם לערך המוקצה , במקרה הזה 5 . למעשה , זה אומר ש '$a = 5' , מבלי להתייחס למה שהוא עושה , הוא ביטוי עם הערך 5 . לכן , כתיבה של '$b = ($a = 5) ' היא כמו כתיבה של '$a = 5 ; $b = 5 ; ' (הסימן סמיקולו ' ; ' מסמן סיום של משפט הוראה) . מאחר וניתוח המשפט נעשה מימין לשמאל , אפשר למעשה גם לכתוב : '$b = $a = 5 ' .

דוגמא טובה נוספת להסבר צורת קריאת הביטויים : משתמשי PHP / FI 2 ושפות אחרות עשויים להכיר את קיומם של האופרטורים משנתה+ + ו משתנה-- . אלו הם האופרטורים לקידום ולהחסרה . ב PHP / FI 2 , המשפט ' $a++ ' הוא חסר ערך (הוא אינו ביטוי ) , ולכן אין בו כל שימוש . PHP מגיברה את היכולות של אופרטורי ההגדלה / חיסור על ידי הפיכתם לביטויים , ממש כמו ב C . ב PHP , כמו ב C , ישנם שני סוגים של אופרטורי הגדלה pre-increment ו post-increment . שני אלה בייסודם מגדילים את ערכי המשתנה , והאפקט על המשתנה הוא זהה . ההבדל הוא בערך שך המשתנה המוגדל . Pre-increment , שנכתב כ ' ++$variable' , מגדיל את הערך המוגדל (PHP מגדילה את הערך לפני שהיא קוראת את הערך לכן המונח 'pre-increment ' או בתרגום צולע משהו : "מוגדל מראש" ) . Post-increment , שנכתב כ ' $variable++ ' מציב את הערך המקורי של $variable , לפני שהוא מגדיל אותו (PHP מגדילה את הערך של המשתנה אחרי שקראה את ערכו , לפיכך השם 'post-increment' ) .

סוג מפוף של ביטויים הוא ביטוי השוואה . ביטויים אלו מוערכים כ 0 או 1 , כלומר כ FALSE או כ TRUE סוג מפוף של ביטויים הוא ביטוי השוואה . ביטויים אלו מוערכים כ 0 או 1 , כלומר כ FALSE או כ TRUE ( בהתאמה ) . PHP תומכת ב ( גדול מ) , = (גדול או שווה ל) , == (שווה) , != (לא שווה) , (קטן מ ) and = (קטן או שווה ל ) . השימוש בביטויים אלו נפוך בעיקר בביצוע משפטי תנאי , מהסוג של if לדוגמא .

הסוג החארון של ביטויים שקיים הוא שילוב של operator-assignment expressions .




If the value of the first subexpression is TRUE (non-zero), then the second subexpression is evaluated, and that is the result of the conditional expression. Otherwise, the third subexpression is evaluated, and that is the value.