אתה נמצא כאן יסודות השפה  >>  סוגי נתונים  >>  בוליאנים

בוליאנים

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

<?php
  $foo=true;
  if ($foo==true
/*האופרטור == מחזיר ערך בוליאני.
במקרה שלנו הוא יחזיר אמת.
*/
)
  {
     echo "foo is true.<BR>\n";
  }
  
  if ($foo
/*הביטוי הזה הוא שווה ערך לביטוי הקודם:
$foo==true
ולכן גם הוא יחזיר אמת.
*/
)
  {
     echo "foo is true again.<BR>\n";
  }
?>

כשממירים משתנה מסוג מסויים לבוליאן, אז הבוליאן יהיה שקר במקרים הבאים:
המרות לבוליאן שנותנות ערך שקר
מספר שלם שהוא אפס (0).
מספר ממשי שהוא אפס (0.0).
מחרוזת ריקה ("") או המחרוזת "0".
מערך עם אפס אלמנטים.
אובייקט עם אפס אלמנטים.
הסוג המיוחד NULL, כולל משתנים שלא מאותחלים או לא מוגדרים.
בכל שאר המקרים הערך יהיה אמת.


תגובות בנושא

בוליאנים 06-12-02 04:00
 XiroX
#223

יש לי 2 משתנים-
id=5
tt[0]=0
כשאני מריץ את המשפט
if ($t[0]=$id) return true;
הוא מחזיר לי true
מישהו יכול להעלות השערה למה זה?

ערך ההשמה 06-12-02 04:01
 אלי חן (מנהל)
#224

שים לב שבתוך ה-if אתה משתמש באופרטור ההשמה = (ולא ההשוואה ==), לכן מה שקורה שם זה ש-[t[0 מקבל את הערך של id. והערך של המוחזר של האופרטור = הוא ערך של ההשמה, כלומר אם שמים את הערך 5 אז האופרטור = מחזיר 5, ולכן זה נחשב כ-true..

שאלה... 01-11-02 03:01
 איתי
#544

איזה שורה קובעת את foo
לאמת?

תשובה לשאלה... 01-11-02 03:02
 אלי חן (מנהל)
#546

השורה שקובעת את הערך של foo לאמת היא השורה הראשונה של הקוד (השורה של ההשמה, סימן שווה אחד). היכן שכתוב:
$foo=true;

[כשיש 2 סימני שווה בתוך ה-if, אז זה השוואה ולא השמה. פעולת השוואה מחזירה תמיד ערך אמת/שקר.]

מזכיר מאוד 03-11-02 02:01
 Dימה
#648

מזכיר מאוד את java script

מה המשמעות של הIF השני? 01-12-04 07:01
 רוני
#1371

האם המשמעות שלו היא:
אם קיים משתנה FOO תעשה כך וכך?

תשובה 09-12-04 14:01
 נתנאל חדד
#1824

כן בערך....
הוא אומר לך שאם foo נכון תדפיס כך וכך
ואם foo לא נכון תדפיס כך וכך אבל בגלל שלמעלה הוא הגדיר שfoo נכון אז הוא הדפיס את האפשרות הנכונה

מזכיר מעט C 01-12-05 16:00
 דוד כהן
#1986

n התפקיד שלה כמו בc שורה חדשה או שיש לה עוד תפקיד ומה המטרה של הסוגריים האלו {?

לא הבנתי 01-12-05 16:00
 דוד כהן
#1987

לא הבנתי ממש מה זה אומר מה הכוונה אפס אלמנטים אובייקט עם אפס אלמנטים ומה זה NULL ?

תחביר 02-12-06 23:00
 חן סךיקטר
#2657

אני רוצה לדעת באיזה מצבים הוא יכול להיות שקר?
לפי מה שהבנתי ממכם פה הוא תמיד אבל תמיד היה אמת לא משנה מה

מה זה $ 04-12-06 01:01
 שימי ויצהנדלר
#2668

אני מגיע מ-VB ו-#C
אני לא מבין מה זה ההפקרות הזאת,
אין הכרזה על משתנים?!

לא הבנתי כמה דברים! 08-12-07 07:01
 אבי אריה
#2779

מה זה:
$foo=true;?
כפי מה שהבנתי שזה משתנה שהוכנס לו הערך true נכון?
אז מה זה בשורה הבאה? if ($foo==true? מה עשינו כאן? איזה בדיקה?
הבדיקה היא האם זה foo שווה לזה true ואז זה ערך אמת?
ואם כן למה צריך == מספיק = אחד.
ולמה ב if השני מספיק שכתוב foo בלבד וזה מחזיר ערך אמת?

אני קצת הסתבכתי אז אשמח מאוד אם תעזרו לי בקרוב ככל האפשר!
תודה רבה על האתר הנפלא!

if ($foo) { 01-11-08 05:01
 שגיא גרין
#2821

מה המשמעות של הסינטקס הזה:

if ($foo)
{

המשך 01-11-08 05:01
 שגיא גרין
#2822

זה סינטקס של סוף המחרוזת ?

אני צודק? 06-12-09 12:00
 אלכס נוסינוב
#2834

שלום
אני לא יודע אם אני צודק
אבל מה שבעצם זה עושה,זה בודק אם המשתנה FOO הוא TURE נכון? ובפונקצייה IF הוא בדוק אם הערך של המשתנה FOO הוא "נכון"?
ויש לי שאלה כמו שאחד פה שאל, למה עושים פעמיים שווה ולא פעם אחת("=")?
ולא הבנתי, אני יכול לרשום בECHO שזה לא נכון אבל בכל זאת זה יהיה נכון..

/n 08-12-10 01:00
 רינה גנץ
#2882

מה תפקידו שהוא יחד עם הbr

אתר מדהים 04-12-12 04:00
 דורי לוסגרטן
#2897

אלי חן תודה רבה לך ...
אחלה מדריך מסביר בצורה מפורטת ועיניינית את השפה...
עד היום למדתי מכמה אתרים באנגלית, עכשיו סוף סוף אין צורך לשבור את הראש יש את האתר הזה

= אל מול == 04-12-12 04:00
 דורי לוסגרטן
#2898

הסימן = גורם להכניס את הערך למשתנה
הסימן == בודק השוואה בין הערך למשתנה(זאת אומרת הוא שואל עם זה שווה לערך או אולי זה גדול מהערך או קטן מהערך)
יש גם את הסימן הזה === שזה סימן השוואה מדוייק יותר לפי סוג(מחרוזת או מספר) זה מבצע מניפולציה לבדיקת ערך מספרי שמוגדר כמחרוזת


לדף הקודםכללי -הקודם
לתחילת הדףלתחילת הדף
הבא- מספרים שלמיםלדף הבא