Errore "Undefined index" su un elemento dell'array delle opzioni?

6 feb 2011, 05:27:03
Visualizzazioni: 960
Voti: 0

WP_DEBUG mi sta mostrando:

Notice: Undefined index: no_cat_base in myplugin.php on line 20

Ecco le righe di codice dove sto cercando di ottenere il valore di "no_cat_base" dal mio array di opzioni chiamato "myoptions"...

$myoptions = get_option('my_settings');

if($myoptions['no_cat_base']){//Questa è la linea 20}

La correzione giusta per questo è...

if ( isset($myoptions['no_cat_base'])){//fai qualcosa}
2
Commenti

Non sono sicuro al 100%, ma se ti aspetti un array dalla tua impostazione (cioè stai recuperando l'impostazione action_plugins dal database), credo che tu debba convertirlo in un array?

Zack Zack
6 feb 2011 06:50:43

Sì, è un array multidimensionale.

Scott B Scott B
7 feb 2011 06:02:40
Tutte le risposte alla domanda 1
2

per essere sicuri usa:

if (array_key_exists('no_cat_base', $myoptions) && isset($myoptions['no_cat_base'])){
//fai quello che devi fare
}
6 feb 2011 08:15:11
Commenti

isset è sufficiente, non c'è bisogno di array_key_exists

onetrickpony onetrickpony
6 feb 2011 12:38:11

Come ho scritto "solo per essere sicuri", ma sì isset è sufficiente

Bainternet Bainternet
6 feb 2011 12:45:18