פורסם 2013 באוגוסט 612 שנים מה ההבדל בין SWITCH ל-IF,IFELSE,ELSE ב-PHP?שאלה נוספת, בקוד למטה, מישהו יכול להסביר לי למה משמש האות D במתוך המרכאות והסוגריים בשורה של המשתנה?תודה.<?php $d=date("D"); switch ($d) { case "Sun": echo "Have a nice week"; break; case "Fri": echo "Have a nice weekend"; break; case "Sat": echo "Shabat Shalom"; break; default: echo "Have a nice day"; break; } ?>
פורסם 2013 באוגוסט 612 שנים וה-"D" אומר להוציא מהתאריך את היום בלבד.תיעוד מלא של הפונקציה date כאן:http://php.net/manual/en/function.date.php
פורסם 2013 באוגוסט 612 שנים switch case זה בסה"כ דרך אלגנטית יותר לעשות if else הרבה פעמים.כאמרה כללית זה לא ממש מדויק - אני לא יודע ספציפית לגבי PHP, יכול להיות שהמימוש שם זהה. אבל בהרבה שפות אחרות יש הבדלים במימוש בין switch ל-if else. לא מדובר רק באלגנטיות.בד"כ זה לא דרמטי אבל יכולים להיות הבדלים גם בביצועים, למשל (לרוב לטובת ה-switch).
פורסם 2013 באוגוסט 612 שנים מחבר כאמרה כללית זה לא ממש מדויק - אני לא יודע ספציפית לגבי PHP, יכול להיות שהמימוש שם זהה. אבל בהרבה שפות אחרות יש הבדלים במימוש בין switch ל-if else. לא מדובר רק באלגנטיות.בד"כ זה לא דרמטי אבל יכולים להיות הבדלים גם בביצועים, למשל (לרוב לטובת ה-switch).מישהו יכול פרט?
פורסם 2013 באוגוסט 612 שנים טוב, שיקולי יעילות בד"כ לא רלוונטים ברמות כאלה ב-PHP. לרוב גם העלות הזניחה הנוספת לא שווה את הקריאות הנמוכה יותר של הקוד.
פורסם 2013 באוגוסט 712 שנים מחבר טוב, שיקולי יעילות בד"כ לא רלוונטים ברמות כאלה ב-PHP. לרוב גם העלות הזניחה הנוספת לא שווה את הקריאות הנמוכה יותר של הקוד.מה?
פורסם 2013 באוגוסט 712 שנים מה לא ברור?Switch זו דרך יפה לכתוב תנאי שמלא ב״אחרת עם״ בדרך מסודרת ומקוצרת.החסרון, כפי שטוענים מעליי, שהמימוש קצת פחות טוב מבחינת ביצועים.עם זאת, למרות הירידה הקלה בביצועים, רצוי לעטוף תנאי ארוך שכזה בswitch כדי לשפר הקריאות, כלומר, שתוכניתן אחר שרואה את הקוד יבין בקלות מה עשית שם. נערך 2013 באוגוסט 712 שנים על-ידי EthanDW
פורסם 2013 באוגוסט 712 שנים נוצר פה קצת בלבול, switch הוא כמעט תמיד עדיף כי מעבר לעובדה שהוא קריא יותר ( "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.") הוא גם זה שלפעמים יש לו את היתרון (אומנם קל) בביצועים.
פורסם 2013 באוגוסט 712 שנים הייתה לי תחושה שקראתי ״לרוב לרעת הswitch״ עריכה: אבל הרעיון ברור: אם הבחירה היא בין קריאות לשיפור ביצועים זניח-עדיף שהקוד יהיה כמה שיותר קריא כדי להקל על קריאותו ותחזוקתו. נערך 2013 באוגוסט 712 שנים על-ידי EthanDW
פורסם 2013 באוגוסט 712 שנים מחבר תודה.במה מתבטא שיפור בביצועים של IF וכו' לעומת SWITCH?שאלה נוספת בקשר למערכים (array).אפשר לגשת לערך מסוים במערכך על ידי:echo $var [0];ואפשר גם על ידי:array (0=>"red",1=>"blue);נתקלתי בזה פה:http://www.codecademy.com/courses/web-beginner-en-8a35h/0/6?curriculum_id=5124ef4c78d510dd89003eb8ואני לא כל כך מבין איך נכתב הקוד בדוגמה השניה שהבאתי וגם מה ההבדל בינהם, האם גם פה זה דרך נוספת לכתוב קוד יותר קצר? נערך 2013 באוגוסט 712 שנים על-ידי xjj
פורסם 2013 באוגוסט 712 שנים השיפור בביצועים בין switch ל if\else מאוד זניח בתכנות php נורמטיבי.אם תעשה לולאה שחוזרת על עצמה אלפי פעמים, אז כן תרגיש, בסופו של דבר, ביצועים (הקוד יסיים מהר יותר) טובים יותר לטובת ה switch.בדוגמה הראשונה אתה מוציא פלט, התא הראשון במערך 'var'.הדוגמה השנייה היא הגדרת מערך. אין שום קשר בין הדוגמאות מלבד זה שבשניהם מדובר במערכים.
פורסם 2013 באוגוסט 812 שנים הפואנטה היא ש-switch גם יותר קריא וגם בעל ביצועים יותר טובים (לא תמיד, אבל בהכרח לא יותר איטי מ-if). אין סיבה לעשות ערימה של if else אם ניתן לעשות switch.
פורסם 2013 באוגוסט 812 שנים הקריאות של switch זה דבר סובייקטיבי לגמרי, לעיניים שלי esle if הרבה יותר ברור. (ובכל מקרה המבנה שלהם דומה מספיק בשביל שלא יהיה שום היגיון בלקרוא לif else "ערימה").
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.