Periksa pemboleh ubah dalam PHP / JS untuk wujud

Semasa bekerja dengan pemboleh ubah dalam PHP dan JavaScript setiap hari, seseorang sering menemui pertanyaan sama ada pemboleh ubah kosong. Perlu mengetahui fungsi asli dan perbezaannya untuk tujuan pemeriksaan. Mengecewakan, tidak ada cara mudah untuk memeriksa intuitif sama ada pemboleh ubah ada atau tidak. Matriks di bawah menjelaskan apa yang dimaksudkan dengan ini. Namun, apa yang anda mahukan dapat dipasang dengan menggunakan fungsi pembantu kecil.


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

Pelaksanaan __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Fungsi pembantu __x dipanggil dengan pengendali kawalan ralat @, yang biasanya tidak disarankan, untuk juga dapat memeriksa pemboleh ubah yang tidak ditentukan sebelumnya.

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

Pelaksanaan __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Belakang