خطا isset در PHP

0 رأی
میانگین بازدید روزانه 0.08191 بازدید

با سلام
مگر تابع 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");

 

سوال 6 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
ویرایش 6 سال قبل توسط Saeed Zarinfam

1 جواب

+2 رأی

دوست عزیز این خطای شما از تابع 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");

?>

 

جواب 6 سال قبل توسط arman202020 (314 امتیاز)

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.65845 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.26652 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.3367 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.19249 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.25636 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.15300 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.23361 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.09152 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1937 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.296 بازدید
سوال 1 سال قبل در تالار برنامه نویسی توسط add member_194297270 (0 امتیاز)
کانال تلگرام جواب یاب
...