isset不能解决未定义常量的使用问题

时间:2013-01-22 03:49:17

标签: php

  

可能重复:
  What does the PHP error message “Notice: Use of undefined constant” mean?

加载此函数时,我得到了“使用未定义的常量”消息:

function awp_get_options($i){
  $i[selects][] =  'special_effects';
  $i[radios][] =  array('js_library','sack');                   
  $i[selects][] = 'effects';
  $i[checkboxes][] = 'no_load_library';

 return $i;
}

我把它改为:

function awp_get_options($i){
 if(isset( $i[selects] )){
    $i[selects][] = 'special_effects';
    $i[selects][] = 'effects';
 }
 if(isset( $i[radios] ))
   $i[radios][] =  array('js_library','sack');

 if(isset( $i[radios] )) 
   $i[checkboxes][] = 'no_load_library';

 return $i;
}

它仍然表示使用未定义的常量。如何更正此代码?

2 个答案:

答案 0 :(得分:1)

function awp_get_options($i){
  $i['selects'][] =  'special_effects';
  $i['radios'][] =  array('js_library','sack');                   
  $i['selects'][] = 'effects';
  $i['checkboxes'][] = 'no_load_library';

 return $i;
}

其余的取决于赋予函数的$i类型。其他现在是正确的。

答案 1 :(得分:0)

为数组键添加引号,例如:

$i[selects]

$i["selects"] 
//or 
$i['selects']
相关问题