עבור לתוכן

לימוד PHP, מתקשה למצוא מקום טוב ללימוד

Featured Replies

פורסם

שמה כתוב item>5, אצלך זה 6.

תבדוק את הדברים האלו כי כנראה הטעות היא פה.

אם הם ממש מחמירים אולי העניין הוא באנטרים ובמיקום של ה {},

למרות שלא נראה לי.

  • תגובות 41
  • צפיות 2.4k
  • נוצר
  • תגובה אחרונה
פורסם
  • מחבר

חשבתי שאם אני רוצה לכוב קוד ליותר מ5 אני כותב 6..אז אתם אומרים שזה 5 וזה כולל ה-5 עצמו?

עכ"פ ניסיתי גם את זה וזה לא עובד..

פורסם

יותר מ-5 זה "יותר מ-5". אם אתה כותב יותר מ-6 אז זה יהיה יותר מ-6...

מה זה "לא עובד"?

אנחנו אמורים לנחש מה עשית ומה הוא אומר לך?

פורסם

תתחיל את השיעור מההתחלה, ובמקום לשנות את הדברים הקיימים תוסיף אליהם את מה שמבקשים.

פורסם
  • מחבר
יותר מ-5 זה "יותר מ-5". אם אתה כותב יותר מ-6 אז זה יהיה יותר מ-6...

מה זה "לא עובד"?

אנחנו אמורים לנחש מה עשית ומה הוא אומר לך?

 <?php
$items = 5;
if ($items > 5) {echo "you get 10% discount";}
elseif ($items == 1) {echo "you get no discount";}
else {echo "you get 5% discount";}
?>

פורסם

שוב: אנחנו אמורים לנחש מה הוא אומר לך?

תעזור לנו לעזור לך.

פורסם
  • מחבר

זה כותב לי להכניס את elseif, מה שכמובן הכנסתי כפי שניתן לראות..

אני לא יודע מה הבעיה ולפי מה שאני מבין מדבריכם הקוד נכון..

כנראה שיש שם איזה בעיה ולכן המשכתי לשיעור הבא, תודה רבה לשניכם על העזרה :)

שאלה נוספת, מה ההבדל בין הסימן ' ' ל- " "?

נערך על-ידי xjj

פורסם
  • מחבר
סוגריים מסולסלים נועדו לאגד מספר פעולות ביחד. פעולות כמו if, else, for הן פעולות שקובעות איך המחשב אמור להתייחס לפעולה הבאה - לדוגמה, if אומר "בצע את הפעולה הבא רק אם מתקיים תנאי מסוים", ו-else אומר "בצע את הפעולה אם התנאי הקודם לא מתקיים". אם בתוך ה-if הזה יש רק פעולה אחת (כמו במקרה שלך - יש רק echo) אז בעקרון לא צריך בכלל סוגריים מסולסלים, וחייבים אותם רק אם יש לפחות שתי פעולות שאתה רוצה ששתיהן יתבצעו רק אם התנאי מתקיים. לדעתי בכל מקרה כדאי לשים סוגריים מסולסלים, גם אם מדובר בפעולה אחת בלבד, כי זה בדרך כלל ברור יותר למי שקורא את הקוד, ויש פחות סיכוי לטעויות.

$ אכן מסמן משתנה ב-php.

elseif זה שילוב של else ו-if - הוא אומר "בצע את הפעולה אם התנאים הקודמים לא מתקיימים, והתנאי הזה כן".

מה ההבדל בין סוגריים מסולסלים ל . ? הרי שניהם נועדו לאחד מספר פקודות

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

בקשר למה שהתרגיל אמר לי, מצטער כבר התקדמתי אבל הוא הזכיר לי פשוט להכניס elseif

פורסם

1. שאלת מה ההבדל בין סוגריים מסולסלים לנקודה? אין שום קשר ביניהם, הם עושים דברים שונים לחלוטין.

2. לא הבנת נכון את עניין ה-if. נניח שאני עושה דבר כזה:

if (1) {
2
} elseif (3) {
4
} elseif (5) {
6
} else {
7
}

(תניח ש-1 ו-3 אלה תנאים, ו-2 ו-4 זה קטעי קוד, כן?)

אז המחשב עושה כזה דבר: הוא בודק אם 1 נכון. אם כן, הוא מבצע את 2. אם לא, הוא בודק אם 3 נכון. אם כן, הוא מבצע את 4. אם גם 3 לא נכון, הוא בודק את 5. אם הוא נכון הוא מבצע את 6. אם כל הנ"ל לא נכונים, רק אז הוא מבצע את 7. שים לב ש-else יכול להיות רק אחד בקטע הזה, ו-elseif חייב לבוא אחרי if או elseif אחר. שים לב שלדוגמה 6 יתבצע רק אם 1 ו-3 לא נכונים, ו-5 כן נכון.

עכשיו תסתכל לדוגמה על הקוד הבא:

if (1) {
2
}
if (3) {
4
}
if (5) {
6
} else {
7
}

כאן החלפתי את ה-elseif ב-if רגיל. ההבדל הוא שכל if הוא "עצמאי" ולא תלוי במה שבא לפניו. כלומר, בדוגמה הזו מה שהמחשב עושה זה: אם 1 נכון, הוא מבצע את 2. בלי קשר ל-1, אם 3 נכון, הוא מבצע את 4. אם 5 נכון (שוב בלי קשר ל-1 ו-3) הוא מבצע את 6. ה-else רלוונטי ל-if האחרון, כלומר הוא יתבצע אם 5 לא נכון וזהו (הוא לא תלוי ב-1 וב-3).

מה שחשוב לדעת הוא ש-if מתחיל "שרשרת" חדשה של תנאים, בעוד ש-elseif ממשיך שרשרת קיימת. כל elseif או else יתבצע רק אם כל מי שקדם לו ב"שרשרת" לא התקיים.

3. שאלתי אותך מה התרגיל אמר בדיוק. כשאני הדבקתי את הקוד שלך בדף של התרגיל הוא לא אמר לי להכניס elseif, הוא אמר לי משהו אחר.

נערך על-ידי שניצל

פורסם
  • מחבר

תודה רבה על ההסבר המפורט.

לא הבנתי מה ההבדל בין הקודה לסוגריים מסו'? הרי נקודה גם מחברת מספר מחרוזות

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

פורסם

תקרא שוב מה שאמרתי על סוגריים מסולסלים. אין קשר בין זה לבין מחרוזות.

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

if (condition) {
echo "Hi!";
echo "Bye!";
}

if (condition)
echo "Hi!";
echo "Bye!";

הוא בבירור לא כתב לך הודעה בעברית. כששואלים מה הוא כתב לך במדויק מצפים שתעתיק את ההודעה שהוא כתב לך ותדביק אותה כאן.

נערך על-ידי שניצל

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים