0 امتیاز
قبل در برنامه نویسی توسط (72 امتیاز)
ویرایش شده قبل توسط

با سلام
مگر تابع isset چک نمیکنه که آیا یک متغییر وجود دارد یا نه
پس چرا کد زیر خطا میگیره ؟؟؟!!!
میخواهیم زمانیکه یک پارامتر بیشتر ست نشده بود قسمت دوم تابع اعمال بشه

خطا : Warning: Missing argument 2 for show()
 

function show($page,$par)
{
  if (isset($page) && isset($par))
  {
   
  $val=$page."-".$par;
 
  echo $val;
  exit();
  }
  elseif(isset($page))
  {  

  echo $page;
  exit();
  
   }
}


show("aa");

 

1 پاسخ

+2 امتیاز
قبل توسط (314 امتیاز)

دوست عزیز این خطای شما از تابع isset نیست بلکه قبل از آن است یعنی لود کردن تابع show.

وقتی در هنگام لود تابع شما دو متغییر به آن دادی ولی در پایین تابع را با یک متغییر لود کردید که این خود خطا به وجود میاره.

من در پایین با تابع func_get_args کد شما رو اصلاح کردم و مقداری خلاصه ترش کردم.

<?php

function show(){
    
    $args=func_get_args();
    
    if (isset($args[0]) && isset($args[1])){
        
        echo $args[0]."-".$args[1].'<br />';
        
    }elseif(isset($args[0])){  
    
        echo $args[0].'<br />';
        
    }else{
        
        echo "not set";
        
    }
}
 
 
show("aa");

show("aa","bb");

?>

 

سوالات مشابه

0 امتیاز
1 پاسخ 1.3هزار بازدید
0 امتیاز
2 پاسخ 896 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط IMANAZADI (72 امتیاز)
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 460 بازدید
0 امتیاز
1 پاسخ 989 بازدید
0 امتیاز
0 پاسخ 518 بازدید
0 امتیاز
0 پاسخ 524 بازدید
0 امتیاز
0 پاسخ 319 بازدید
+1 امتیاز
2 پاسخ 251 بازدید
...