הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה על תנאים בPHP (https://hosts.co.il/forums/showthread.php?t=21919)

בניה 16-05-06 12:35

שאלה על תנאים בPHP
 
ב"ה

יש דבר כזה:
PHP קוד:

if($a==1&&$b==2

האם הוא בודק $a==1 ואת הסימן && ורק אם $a==1 נכון הוא בודק גם את התנאי השני, או לא?

Tomer 16-05-06 12:44

ציטוט:

נכתב במקור על ידי בניה
ב"ה

יש דבר כזה:
PHP קוד:

if($a==1&&$b==2

האם הוא בודק $a==1 ואת הסימן && ורק אם $a==1 נכון הוא בודק גם את התנאי השני, או לא?

PHP קוד:

if($a==1) { if ($b==2) { } } 

השיטה הכי הגיונית.. למרות שמה שרשום בהתחלה אומר שאם $a = 1 ו $b = 2 ככה שזה עושה בערך מה שביקשת.

בניה 16-05-06 13:05

ב"ה


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

eXtaZa 16-05-06 13:16

אם גם $a==1 וגם $b==2 הוא יבצע את מה שאתה רוצה. אם רק אחד מהם הוא נכון והשני לא אז הוא לא יבצע את מה שאתה רוצה.
אם הוא נכנס לתנאי, והתנאי הראשון לא נכון, הוא יבדוק גם את השני.

x-ray 16-05-06 13:25

בניה כמו שאמר תומר,עושים את זה בהדרגתיות...

PHP קוד:

if ($a==1){
           if(
$b==2){ 


mlnn 16-05-06 13:46

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

בניה 16-05-06 14:28

ב"ה

לא הבנתם מה שאלתי.
נכון שב&& חייבים ששני התנאים יתקיימו?
אז אם הראשון לא מתקיים אז אין צורך לבדוק את השני כי מימילא הראשון לא התקיים נכון?
השאלה היא אם PHP בודקת בכל זאת גם את השני.

meshuga 16-05-06 14:30

ציטוט:

נכתב במקור על ידי בניה
ב"ה

לא הבנתם מה שאלתי.
נכון שב&& חייבים ששני התנאים יתקיימו?
אז אם הראשון לא מתקיים אז אין צורך לבדוק את השני כי מימילא הראשון לא התקיים נכון?
השאלה היא אם PHP בודקת בכל זאת גם את השני.

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

BlueNosE 16-05-06 15:03

תראה בניה
זה לא משנה
AND - 1 1
OR - 0 1 / 1 1 / 1 0
XOR - 1 0 / 0 1
זה אומר שזה ממש לא משנה סדר הבדיקה.
ברגע שבAND אחד הביטויים יחזיר 0 הביטוי פסול..
אבל לשאלתך- PHP בודקת קודם כל את הביטוי משמאל.

Alter 16-05-06 15:31

בניה ברגע שאתה עושה את הסימון של "וגם" - && הוא בודק אם
קוד:

$a==1
וגם אם
קוד:

$b==2
אם $a לא שווה לאחד אני לא חושב שהוא בכלל יבדוק את b כי אין סיבה שיבדוק אותו.
הרי הראשון לא מתקיים, אז הוא לא נכנס לתנאי כלל.


כל הזמנים הם GMT +2. הזמן כעת הוא 13:13.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ