2013-03-09 9 views
12

Esiste un modo per verificare se esiste un indice di array o è nullo? isset() non indica se l'indice non esiste o esiste ma è nullo. Se lo faccio: isset($array[$index]) || is_null($array[$index]) non funzionerà perché se l'indice non esiste is_null andrà in crash.PHP - Verifica se l'indice di array esiste o è nullo

Come posso verificare per favore? C'è anche un modo per verificare solo se qualcosa esiste, non importa se è impostato su null o no?

+0

Prova vuoto per controllare. –

+0

Non sarebbe lo stesso se le istruzioni in una struttura annidata funzionino correttamente? – christopher

+0

"array_key_exists può sicuramente fare il trucco." questa è la risposta..buona .. +1 per voi –

risposta

7

Questa è la domanda molto buona e si può usare get_defined_vars() per questo:

$foo = NULL; 
$a = get_defined_vars(); 

if (array_key_exists('def', $a)) { 
    // Should evaluate to FALSE 
}; 

if (array_key_exists('foo', $a)) { 
    // Should evaluate to TRUE 
}; 

Questo risolverà il vostro problema

+0

Ok ma aggiungi la cosa array_key_exist in essa quindi – Virus721