Eroare de index nedefinit în elementul array de opțiuni?

6 feb. 2011, 05:27:03
Vizualizări: 960
Voturi: 0

WP_DEBUG îmi afișează:

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

Iată liniile de cod unde încerc să obțin valoarea "no_cat_base" din array-ul meu de opțiuni numit "myoptions"...

$myoptions = get_option('my_settings');

if($myoptions['no_cat_base']){//Aceasta este linia 20}

Este corectă următoarea soluție...

if ( isset($myoptions['no_cat_base'])){//fă ceva}
2
Comentarii

Nu sunt 100% sigur, dar dacă te aștepți la un array din setarea ta (adică extragi setarea action_plugins din baza de date), cred că trebuie să o convertești într-un array?

Zack Zack
6 feb. 2011 06:50:43

Da, este un array multidimensional.

Scott B Scott B
7 feb. 2011 06:02:40
Toate răspunsurile la întrebare 1
2

pentru a fi în siguranță, folosește:

if (array_key_exists('no_cat_base', $myoptions) && isset($myoptions['no_cat_base'])){
//fă ce ai de făcut
}
6 feb. 2011 08:15:11
Comentarii

isset este suficient, nu este nevoie de array_key_exists

onetrickpony onetrickpony
6 feb. 2011 12:38:11

Cum am scris "doar ca să fim pe partea sigură", dar da isset este suficient

Bainternet Bainternet
6 feb. 2011 12:45:18