ב – PHP יש המון פונקציות שיכולות לבדוק ערכים של משתנים, 3 פונקציות שנדבר עליהם במאמר זה הם
- isset() – המשתנה מאותחל ולא NULL
- empty() – משתנה ריק
- is_null() – משתנה NULL
כל הפונקציות האלה מחזירות ערכים בוליאנים כלומר ( אמת | שקר ), הפונקציות יכולות להחזיר ערכים שגויים ממה שאנחנו מצפים אם לא נשתמש בהם נכון ולא נבין אותם לעומק.
isset() ו empty() בדר"כ הם הפכים אחד אומר האם המשתנה מאותחל והשני האם הוא ריק, אבל זה לא תמיד נכון אסביר את השוני בין הפונקציות האלה
יחזיר אמת כאשר המשתנה הוא מחרוזת ריקה או המשתנה שקר (flase) , array ( מערך), null או 0 או משתנה לא מאותחל.
is_null()
יחזיר אמת רק כאשר המתשנה הוא NULL וזה ההפוך של isset חוץ מיוצא דופן אחד ש isset גם פועל על משתנים לא מוגדרים אבל isnull לא יפעל כאשר אין לי משתנה מוגדר
| Value of variable ($var) | isset($var) | empty($var) | is_null($var) |
|---|---|---|---|
| “” (an empty string) | bool(true) | bool(true) | |
| ” ” (space) | bool(true) | ||
| FALSE | bool(true) | bool(true) | |
| TRUE | bool(true) | ||
| array() (an empty array) | bool(true) | bool(true) | |
| NULL | bool(true) | bool(true) | |
| “0” (0 as a string) | bool(true) | bool(true) | |
| 0 (0 as an integer) | bool(true) | bool(true) | |
| 0.0 (0 as a float) | bool(true) | bool(true) | |
| var $var; (a variable declared, but without a value) | bool(true) | bool(true) | |
| NULL byte (“\ 0”) | bool(true) |