Sprawdź zmienne w PHP / JS pod kątem istnienia

Podczas pracy ze zmiennymi w PHP i JavaScript często pojawia się zapytanie, czy zmienna jest pusta. W celu sprawdzenia warto poznać natywne funkcje i ich różnice. Irytujące jest to, że nie ma łatwego sposobu na intuicyjne sprawdzenie, czy zmienna jest obecna, czy nie. Poniższa macierz ilustruje, co to oznacza. Jednak to, co chcesz, można doposażyć za pomocą małych funkcji pomocniczych.


PHP

  === null == null is_null isset empty if/else ternary count > 0 == '' === '' @__x
$a true true true false true false false false true false false
null true true true false true false false false true false false
[] false true false true true false false false false false false
0 false true false true true false false true true false true
1 false false false true false true true true false false true
-1 false false false true false true true true false false true
'' false true false true true false false true true true false
' ' false false false true false true true true false false false
str false false false true false true true true false false true
[0,1] false false false true false true true true false false true
[0] false false false true false true true true false false true
new stdClass() false false false true false true true true false false false

Wdrożenie __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Funkcja pomocnicza __x jest wywoływana z operatorem kontroli błędów @, co zwykle nie jest zalecane, aby można było również sprawdzić wcześniej niezdefiniowane zmienne.

JavaScript

  === null == null typeof input === 'undefined' if/else ternary length > 0 == '' === '' __x
$a false true true false false type error false false false
null true true false false false type error false false false
[] false false false true true false true false false
0 false false false false false false true false true
1 false false false true true false false false true
-1 false false false true true false false false true
'' false false false false false false true true false
' ' false false false true true true false false false
str false false false true true true false false true
[0,1] false false false true true true false false true
[0] false false false true true true false false true
new Object() false false false true true false false false false

Wdrożenie __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Plecy