2013-03-09 20 views
12

Czy istnieje sposób sprawdzenia, czy indeks tablicy istnieje, czy ma wartość null? isset() nie mówi, czy indeks nie istnieje, czy istnieje, ale ma wartość NULL. Jeśli to zrobię: isset($array[$index]) || is_null($array[$index]) to nie zadziała, ponieważ jeśli indeks nie istnieje, funkcja will_null ulegnie awarii.PHP - Sprawdzanie, czy indeks tablicy istnieje, czy jest pusty

Jak mogę to sprawdzić? Czy istnieje również sposób sprawdzenia tylko wtedy, gdy coś istnieje, bez względu na to, czy jest ustawione na wartość null czy nie?

+0

Spróbuj pusty sprawdzić. –

+0

Czy nie byłby taki sam, gdyby instrukcje w strukturze zagnieżdżonej, gdyby działało poprawnie? – christopher

+0

"array_key_exists z pewnością może zrobić lewy." to jest odpowiedź ... dobry .. +1 dla u –

Odpowiedz

7

To jest bardzo dobre pytanie i można korzystać get_defined_vars() przez to:

$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 
}; 

to rozwiąże Twój problem

+0

Ok ale dodaj rzecz w tym przykładzie array_key_exist – Virus721