注意:带有while循环的未定义索引

时间:2013-06-13 13:59:11

标签: php while-loop undefined-index

我在php中收到以下错误:Notice: Undefined index: panel_num

我想我需要使用isset(),但似乎无法使用while

global $d;
$i = 1;
while($i <= $d['panel_num']){
$options[] = array(
                      "name" => "Panel".$i,
                        "id" => "panel_".$i,
                       "std" => "",
                      "type" => "panel");
$i++;
}

解决此问题的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

在使用之前检查该变量是否已设置:

global $d;
if (isset($d['panel_num']))
{
  $i = 1;
  while($i <= $d['panel_num']){
  $options[] = array(
                      "name" => "Panel".$i,
                        "id" => "panel_".$i,
                       "std" => "",
                      "type" => "panel");
  $i++;
  }
}

答案 1 :(得分:1)

我认为您只需要检查isset()而不是empty $d['panel_num']

global $d;
if(isset($d['panel_num']) && !empty($d['panel_num']))
{
    $i = 1;
    while($i <= $d['panel_num']){
    $options[] = array(
                  "name" => "Panel".$i,
                    "id" => "panel_".$i,
                   "std" => "",
                  "type" => "panel");
    $i++;
    }
}

因此,如果您的变量未设置或为空,您将避免调用该变量