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

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

Ben Segal 16-08-07 15:44

ציטוט:

נכתב במקור על ידי Meir (פרסם 542786)
משפט switch אמור להיות בסגנון הזה:

PHP קוד:

switch($calculator ['action'])
{
case 
1:
return 
$calculator ['num1'] + $calculator ['num2'];



צריך גם break בסוף...

Gal Shafrir 16-08-07 16:00

זה לא אמור להיות משהו בסגנון הזה:
PHP קוד:

<?php

switch($calculator ['action'])
{
    case 
"+":
    return 
$calculator ['num1'] + $calculator ['num2'];

    break;
}

?>

?

inTouch 16-08-07 16:06

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

PHP קוד:

$calculator = array (
"action" => '',
"num1" => '',
"num2" => ''
);

function 
MathFunc ($calculator)
{
    switch (
$calculator ['action'])
    case 
1:
        return 
$calculator ['num1'] + $calculator ['num2'];
        break;
    case 
2:
        return 
$calculator ['num1'] - $calculator ['num2'];
        break;
    case 
3:
        if (
$calculator ['num2'] == 0)
        return 
"באג נמצא.";
        return 
$num1 $num2;
        break;
    case 
4:
        return 
$calculator ['num1'] * $calculator ['num2'];
}

$answer MathFunc (350); 


חיים 16-08-07 16:46

במשפט switch חייב להיות פתיחה וסיום בדר"כ זה ע"י { ו- } אבל לפעמים גם עם : ועוד משהוא שככתי איך סוגרים את זה חח בכל זאת אתה חייב לפתוח את הסוויצץ בידיוק כמו את ה-IF וכל שאר הדברים שיש לך..

4ior 16-08-07 16:57

יש לך הרבה שגיאות, קוד מתוקן:
PHP קוד:

function MathFunc ($calculator)
{
    switch (
$calculator ['action'])
    case 
1:
        return 
$calculator ['num1'] + $calculator ['num2'];
        break;
    case 
2:
        return 
$calculator ['num1'] - $calculator ['num2'];
        break;
    case 
3:
        if (
$calculator ['num2'] == 0)
        return 
"נמצא באג".($num1 $num2);
        break;
    case 
4:
        return 
$calculator ['num1'] * $calculator ['num2'];
}
$calculator=array();
$calculator['action']=3;
$calculator['num1']=5;
$calculator['num2']=0;
$answer MathFunc ($calculator); 


inTouch 16-08-07 20:55

השינוי היחידי שעשית היה במבנה המערך ומיקומו בקוד.
לא משנה, תודה על העזרה אבל עדיין ישנה שגיאה והפעם היא:
Parse error: syntax error, unexpected T_CASE, expecting ':' or '{'
בשורה:
PHP קוד:

    case 1


חיים 16-08-07 21:03

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

4ior 16-08-07 21:39

עכשיו לא אמורה להיות שום שגיאה:
PHP קוד:

function MathFunc ($calculator)
{
    switch (
$calculator ['action'])
{
    case 
1:
        return 
$calculator ['num1'] + $calculator ['num2'];
        break;
    case 
2:
        return 
$calculator ['num1'] - $calculator ['num2'];
        break;
    case 
3:
        if (
$calculator ['num2'] == 0) return "נמצא באג".($calculator ['num1'] / $calculator['num2']);
        break;
    case 
4:
        return (
$calculator ['num1'] * $calculator ['num2']);
}
}
$calculator=array();
$calculator['action']=3;
$calculator['num1']=5;
$calculator['num2']=0;
$answer MathFunc ($calculator); 


inTouch 16-08-07 21:55

חיים, שמע חבוב, קודם כל תרגיע..
ושנית, השגיאה האחרונה שהצגתי הייתה מהקוד שלו.
הסתדרתי כבר, מצאתי את השגיאה שהייתה לי בסוף האמת ללא הקוד האחרון שקיבלתי מ4ior אבל באמת תודה לכולם, אתם קהילה נפלאה :).

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


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

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