20-01-2010, 00:59
|
|
|
חבר מתאריך: 01.07.05
הודעות: 176
|
|
בעיה|פונקציה שכתבתי ולא עובדת - לדעתי באג ב-PHP
אני משתגע כבר, עברתי על הקוד כל-כך הרבה פעמים, הרצתי ב-JAVA ועובד, ואין לי מושג למה זה לא עובד ב-PHP.
הפונקציה אמורה לקבל מחרוזת, ולבדוק אם היא שווה לאחת המחרוזות שבתוך מערך שהיא יוצרת:
אם כן, להחזיר True. ואם לא, להחזיר False.
זה הכל! O_O
הנה הפונקציה ב-PHP:
קוד PHP:
function test($settings){ $count = 0; $status = false; $array = array(0 => "morning", 1 => "afternoon", 2 => "evening"); for($i = 0; $i < count($array); $i++){ if($settings == $array[$i]){ $count++; } } if($count == 1){ $status = true; } return $status; }
קלט:
קוד:
echo test("morning");
echo test("dsagsdgsdsdg");
פלט:
הפונקציה ב-Java (לאחר המרה של הפונקציה לשפת Java):
קוד PHP:
public static boolean test(String settings){
int count = 0; boolean status = false; String array[] = {"morning", "afternoon", "evening"}; for(int i = 0; i < array.length; i++){ if(settings.equals( array[i])){ count++; } } if(count == 1){ status = true; }
return status;
}
}
קלט:
קוד:
System.out.println(test("morning"));
System.out.println(test("dsagsdgsdsdg"));
פלט:
למישהו יש רעיון למה ב-PHP הוא מחזיר פלט כזה? וב-Java מחזיר פלט כמו שהוא אמור להיות?
תודה מראש,
orl2006. =]
נערך לאחרונה ע"י orl2006 בתאריך 20-01-2010 בשעה 01:02.
|