חבר׳ה את עזרתכם ועצתכם!!!

good_say

משתמש פעיל
במהלך לימודי הגעתי לחומר שנקרא: case ו-switch. הבנתי את החומר, דווקא קל יחסית, אבל מה? אני לא מצליחה להבין איך אני משתמשת עם זה ב״יום יום״.
המדריך נותן דוגמה שבה המשתנה שלי שווה 5 ואני רוצה להחליף אותו ליום בשבוע. ואז יש לי כמה שורות של case (לפי מס׳ ימות השבוע) ולסיום יש שורת קוד של default.
איך משתמשים עם זה בקוד כתוב/נכתב?

החומר שהיה לי מיד אח״כ הוא מערכים - לא הבנתי מילה :( ניסיתי לכתוב את הקוד לפי המדריך אבל שום דבר לא עבד לי כמו שצריך. מה זה נקרא מערכים?  
 

studio dv.d

משתמש סופר מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
D I G I T A L
מערכים זו הדרך ליצור המון משתנים ובעצם כשאני מריץ בדיקה אחת על המערך אני בודק את כולם בבת אחת
תביאי קישור ונסביר לך את מה שכתוב
 

שמח לעזור

משתמש מקצוען
D I G I T A L
א. המשפט switch הוא בעצם בא לחסוך שימוש בתנאים מרובים.
(אני לא הבנתי את הדוגמא שציינתם עד שפתחתי את מקור הדברים כאן http://webmaster.org.il/articles/php-switch-case)
פי' הדוגמא היא שרוצים לקבל את הערך של משתנה מספרי לטקסט המייצג את היום בשבוע המתאים, כלומר אם המשתנה הוא 1 רוצים שיוחזר "ראשון", וכן הלאה.
אני אולי בהמשך היום אסביר יותר אם עדיין זה לא יהיה מובן.

מערכים זה בעצם ריבוי משתנים ללא הצהרה על שמם, וגישה אליהם לפי אינדקס.
המערך הוא בעצם משתנה רב ערכי, ולו יש איברים - משתנים, בסכום עליו הצהרנו.
לדוגמא המשתמש הוא מורה, ועליו להזין את מספר הילדים שבכיתתו. ואנחנו רוצים להקצות משתנה לכל ילד כדי לאסוף את הציונים שלהם במבחן ולבצע למורה חישוב מהו הממוצע.
אז ללא מערכים, אין שום אפשרות לשלוט על כמות X של משתנים, ולגשת אליהם מתוך הקוד.
עם מערכים נעשה כך:
נקבל את מספר הילדים ונציב במשתנה A.
נצהיר על מערך בשם B, ונקצה לו עבור מספר איברים את סכום A.
אח"כ נוכל לעשות לולאה מ0 עד סכום A, ולגשת לקריאה/כתיבה לכל איבר מהמערך B.

מקווה שהובנתי.
 

חיים פ

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

יריב

משתמש רשום
תסתכלי על זה רגע...

PHP:
$ref_id=$_REQUEST["refferar"]; 
switch ($ref_id) {
                                                                             case '1':
                                                                                     $ref_id="Ynet";
                                                                                     break;
                                                                            case '2':
                                                                                     $ref_id="Walla";
                                                                                     break;
                                                                            case '3':
                                                                                     $ref_id="Nrg";
                                                                                     break;
                                                                            default:
                                                                                     $ref_id="";
                                                                            }
בקטע הנ"ל אני מקבל מהגולש פרמטר app בלינק או כשדה בטופס או בעוגיה.
ואני משנה אותו בהתאם לערכו, פשוט.
בהמשך אני כבר יכניס את המשתנה כשם המפנה (אם קיים).



לגביי מערכים לפעמים למשתנה מסוים יכולים או רצוי שיהיו הרבה ערכים
במקום לכתוב קוד לכל משתנה ולטפל בו אישית כותבים לולאה קצרה שתעבור על כל הערכים, שימי לב:
PHP:
$a=array(1,2,3,4,'Israel');
foreach ($a as $b)
echo ($b!='Israel' ? 'no,' : 'yes');

זה אמור לפלוט: no, no, no, no, yes
 

good_say

משתמש פעיל
הבנתי בערך.
מקווה שזה ישתפר עוד יותר מ"בערך" ל"ברור כשמש".
 

ניב אסרף

משתמש צעיר
D I G I T A L
בס"ד

אתן לך מקרה שקרה לי מהיום יום :)
הגיע אליי לקוח שברשותו מערכת הכרויות שבקשתו הייתה, להציג את מצב המערכת הזוגית של המשתמש.
המערכת מציגה את מצב המערכת הזוגית באמצעות המשתנה $status שבו נטפל.
המטרה: להציג את מצב המערכת הזוגית של המשתמש, על סמך המשתנה $status שמכיל ערך שונה אצל המשתמשים.
הדרך: ניתן לבצע זאת במספר דרכים: משפט switch ומשפטי תנאי (if and else). במקרים בהם הטיפול הוא במספר רב של נתונים מומלץ להשתמש ב- switch היות והוא יעיל ומהיר יותר לשרת.

נעבור לקוד ונסביר אותו באמצעות הערות (כל הערה נפתחת ב-//) :)
PHP:
switch($status) // ראשית כל, אנחנו עובדים על המשתנה $status שבמקרה שלנו - מכיל את מערכת היחסים שלך.
{
 case 'In a relationship': // אם המשתנה $status מכיל את הערך הנמצא בין הגרשיים, תגדיר מחדש את $status ותתן לו את הערך בעברית.
 $status  = 'במערכת יחסים';
 break; // אם המקרה נכון, הפסק את הלולאה כאן.
 
 case 'single':
 $status  = 'רווק';
 break;
}
כפי שציינתי, ניתן היה לבצע זאת גם באמצעות משפטי תנאי מסוג if/else
PHP:
if($status == 'In a relationship')
{
 $status  = 'במערכת יחסים';
}
elseif($status == 'single')
{
 $status  = 'רווק';
}
אני מקווה שעכשיו הכל ברור כשמש, במידה ולא אל תהסס לשאול שאלות :)
אני מצטער אם החסרתי פרטים, ההודעה הראשונה נמחקה לי ואת זו כתבתי במהירות
חג שמח וכשר לכולם :)
 

member

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
איור וציור מקצועי
צילום מקצועי
מערך הוא בעצם אוסף של משתנים שכולם נכללים תחת שם אחד, אך כל אחד ממוספר במספר אחר. (מ-0 וכן הלאה...). נח להשתמש במערכים כשרוצים להתייחס למספר רב של משתנים שקשורים לאותו נושא. (לדוגמא- רשימת ציונים). וכך לעבור עליהם אחד- אחד בלולאה אחת.
 

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קכז

א שִׁיר הַמַּעֲלוֹת לִשְׁלֹמֹה אִם יְהוָה לֹא יִבְנֶה בַיִת שָׁוְא עָמְלוּ בוֹנָיו בּוֹ אִם יְהוָה לֹא יִשְׁמָר עִיר שָׁוְא שָׁקַד שׁוֹמֵר:ב שָׁוְא לָכֶם מַשְׁכִּימֵי קוּם מְאַחֲרֵי שֶׁבֶת אֹכְלֵי לֶחֶם הָעֲצָבִים כֵּן יִתֵּן לִידִידוֹ שֵׁנָא:ג הִנֵּה נַחֲלַת יְהוָה בָּנִים שָׂכָר פְּרִי הַבָּטֶן:ד כְּחִצִּים בְּיַד גִּבּוֹר כֵּן בְּנֵי הַנְּעוּרִים:ה אַשְׁרֵי הַגֶּבֶר אֲשֶׁר מִלֵּא אֶת אַשְׁפָּתוֹ מֵהֶם לֹא יֵבֹשׁוּ כִּי יְדַבְּרוּ אֶת אוֹיְבִים בַּשָּׁעַר:
נקרא  13  פעמים

אתגר AI

אחרי החגים • אתגר 13

לוח מודעות

למעלה