Ошибка "Undefined index" при обращении к элементу массива options?

6 февр. 2011 г., 05:27:03
Просмотры: 960
Голосов: 0

WP_DEBUG выводит мне сообщение:

Notice: Undefined index: no_cat_base в файле myplugin.php на строке 20

Вот строки кода, где я получаю значение "no_cat_base" из моего массива настроек "myoptions"...

$myoptions = get_option('my_settings');

if($myoptions['no_cat_base']){//Это строка 20}

Правильным решением будет...

if ( isset($myoptions['no_cat_base'])){//делаем что-то}
2
Комментарии

Не уверен на 100%, но если вы ожидаете массив из вашей настройки (т.е. вы получаете настройку action_plugins из базы данных), я полагаю, вам нужно привести его к типу array?

Zack Zack
6 февр. 2011 г. 06:50:43

Да, это многомерный массив.

Scott B Scott B
7 февр. 2011 г. 06:02:40
Все ответы на вопрос 1
2

на всякий случай используйте:

if (array_key_exists('no_cat_base', $myoptions) && isset($myoptions['no_cat_base'])){
//делаем что нужно
}
6 февр. 2011 г. 08:15:11
Комментарии

isset достаточно, нет необходимости в array_key_exists

onetrickpony onetrickpony
6 февр. 2011 г. 12:38:11

Как я написал "просто для подстраховки", но да, isset достаточно

Bainternet Bainternet
6 февр. 2011 г. 12:45:18