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

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

Eli-Hai 06-10-06 16:35

משהו קל שעשיתי בלולאת for.
 
אהלן, התחלתי ללמוד להשתמש בלולאות, עבדתי על for של חודשים,
PHP קוד:

for ($i 1$i 12; ++$i)
if( 
$i == ) continue print "January";
elseif( 
$i == ) continue print "February";
elseif( 
$i == ) continue print "March";
elseif( 
$i == ) continue print "April";
elseif( 
$i == ) continue print "May";
elseif( 
$i == ) continue print "June";
elseif( 
$i == ) continue print "July";
elseif( 
$i == ) continue print "August";
elseif( 
$i == ) continue print "September";
elseif( 
$i == 10 ) continue print "October";
elseif( 
$i == 11 ) continue print "November";
elseif( 
$i == 12 ) continue print "December"

אם הבאתי למישהו תועלת, אני שמח,
אני לא רוצה תגובות של "נו ו..?", "אז?", בסה"כ הצגתי משהו שלמדתי לעשות.

EyeSoft 06-10-06 16:49

במקום בIf תשתמש בswitch\Case

RS324 06-10-06 17:10

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

PHP קוד:

<?php


$month 
= array(
=> 'January',
=> 'February',
=> 'March',
=> 'April',
=> 'May',
=> 'June',
=> 'July',
=> 'August',
=> 'September',
10 => 'October',
11 => 'November',
12 => 'December'
);
 
 
for (
$i =1;$i <= 12;$i++)
{
    
    print 
$month[$i]."\n";
}

?>

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

Ben-Malka 06-10-06 17:31

חמוד בשביל ההתחלה (:
באיזה אתר אתה לומד עם אפשר לדעת?

-VladK- 06-10-06 17:44

http://php.eitan.ac.il/main.php?id=00140

תהנה

Eli-Hai 06-10-06 18:40

PHP.net, יש לי שם דוגמאות קוד שעוזרות, ותודה למי שעזר ומצא דרכים יותר יעילות.
RS324, הקוד נבדק ו-December מודפס.

4ior 06-10-06 19:27

rs324..דצמבר כן מודפס מכיוון שהוא עשה:
++$i ולא $i++
זה מעדכן לפני.

Balrog 06-10-06 21:24

ל 4ior, לפי הגישה שלך אז החודש הראשון לא היה מודפס..
ובכל מקרה אני חושב שהטעות אתך, אם הדבר כמו ב-C, אין משמעות לקח שה++ לפני או אחרי בחלק הזה בלולאת הFOR, הוא יתבצע בכל מקרה בסוף האיטרציה.

4ior 06-10-06 23:22

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

Balrog 07-10-06 00:24

ציטוט:

נכתב במקור על ידי 4ior
מה פתאום. עובדה. הם אמרו שזה עובד.
אם זה לפני זה יעבוד אם זה אחרי זה לא ידפיס את האחרון


אני חושש שאני נאלץ שוב לחלוק עליך.
בוא תנסה בבקשה לקחת את הדוגמא שהביא RS324, פעם אחת תריץ אותה כמו שהיא, ופעם השניה תעביר את ה++ ללפני ה $i בלולאת הFOR.

תגיד לי אם אתה רואה הבדל בריצות.

הבעיה הייתה כמו שאמר נכון RS324, שצריך לעשות (>=) (קטן שווה, הסימן אולי הפוך), ולא קטן ממש (>).


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

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