Va returna isset() fals dacă atribui NULL unei variabile? (Programare, Php, Null, Isset)

openfrog a intrebat.

Adică… Am „setat-o” la NULL. Deci isset($somethingNULL) == true?

Comentarii

    23

  • de ce nu ai încercat și tu? –  > Por Flatlin3.
  • Mi-ar fi luat mai puțin timp să testez decât să pun întrebarea. Chiar ai scris codul necesar pentru a testa întrebarea în întrebarea însăși. –  > Por meagar.
  • Pur și simplu vă iubesc pe toți, de aceea vin aici pentru orice motiv pe care îl găsesc 😉 –  > Por openfrog.
  • Mi-a luat mai puțin timp să găsesc această întrebare și răspunsul decât mi-ar fi luat să găsesc cazuri de testare, să scriu codul și să îl rulez, fără să fiu sigur că am acoperit toate cazurile. –  > Por user985366.
  • @Flatlin3 pentru că astfel îi poate ajuta și pe alții care au aceeași întrebare. –  > Por htafoya.
2 răspunsuri
Gregory Pakosz
bool isset ( mixed $var [, mixed $var [, $... ]] )

Determinați dacă o variabilă este setată și nu este NULL.

Dacă o variabilă a fost dezactivată cu unset(), aceasta nu va mai fi activată. isset() va returna FALSE dacă testează o variabilă care a fost setată la NULL.. De asemenea, rețineți că un octet NULL („”) nu este echivalent cu constanta NULL din PHP.

Valori de returnare

Returnează TRUE dacă var există și are o valoare diferită de NULL, altfel FALSE.

De la manual. Exemple de pe aceeași pagină.

Comentarii

  • Deci, cum pot verifica existența cheilor de matrice? Înainte de a găsi această întrebare, am crezut că isset returnează true pentru null variabile/chei. –  > Por Tomáš Zato – Reinstaurați-o pe Monica.
  • @TomášZato Use array_key_exists() în schimb. –  > Por Rob.
  • O funcție similară există pentru obiecte: property_exists() –  > Por Coanda.
OMG Ponei

Da – din documentația ISSET():

$foo = NULL;
var_dump(isset($foo));   // FALSE

/* Array example */
$a = array ('test' => 1, 'hello' => NULL);

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

Comentarii

  • Mai degrabă copy-pastezi documentația așa cum am făcut-o eu 😀 Dar o facem pentru a evita să punem doar un link în cazul în care dă un 404 după aceea (puțin probabil să se întâmple cu php.net totuși) –  > Por Gregory Pakosz.

Tags:, ,