آژانس هواپیمایی
pop up

وارد نکردن مقادیر پیشفرض یک تابع

شروع موضوع توسط Helen_Farhani ‏16 اکتبر 2007 در انجمن PHP

  1. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    یک تابع را در نظر بگیرید که دو آرگومان دارد و برای هر دو مقادیر پیشفرض تعیین شده. اگر مجبور بشیم که برای آرگومان دوم از مقدار پیشفرض استفاده نکنیم چه راهی وجود دارد که آرگومان اول را هم ننویسیم؟

    مثلا تابع زیر را به چه شکل صدا بزنم که از فقط از مقدار پیش فرض آرگومان اول استفاده کند؟
    PHP:
    function test($input1="test1"$input2="test2")
    {
        echo 
    $input1 $input2;
    }
     
  2. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    RTFM

    البته توی python :)wub:) می شه این کار رو به زیبایی انجام داد !
     
  3. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    چیزی دستگیرم نشد آقا میلاد. میشع بیشتر راهنمایی کنید؟
     
  4. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    این قسمتش رو بخون :
    Example 17.9. Incorrect usage of default function arguments
    بعد گفته که :
    Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected. Consider the following code snippet:

    یعنی نمی شه
     
  5. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    خب این که نمیشه درست. من دنبال این میگشتم که جایی راه حلی ارایه داده باشه.

    حالا واقعا راه حلی وجود نداره؟
     
  6. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    راحل ؟
    خب من در چنین شرایطی نگاه می کنم که مقدار پیش فرض ورودی اول چی هست و همون رو دستی وارد می کنم
    PHP:
    test('test1','something');
     
  7. boxilink
  8. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    منهم همین کار را انجام میدم. ولی یک جورایی حال نمیده اینطوری.