Ελέγξτε τις μεταβλητές στο PHP / JS για ύπαρξη

Όταν εργάζεστε με μεταβλητές σε PHP και JavaScript σε καθημερινή βάση, συχνά συναντά κανείς το ερώτημα εάν μια μεταβλητή είναι κενή. Αξίζει να γνωρίζετε τις εγγενείς λειτουργίες και τις διαφορές τους για λόγους ελέγχου. Ενοχλητικά, δεν υπάρχει εύκολος τρόπος να ελέγξετε διαισθητικά εάν υπάρχει μια μεταβλητή ή όχι. Ο πίνακας παρακάτω διευκρινίζει τι σημαίνει αυτό. Ωστόσο, αυτό που θέλετε μπορεί να τοποθετηθεί εκ νέου χρησιμοποιώντας μικρές βοηθητικές λειτουργίες.


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

Υλοποίηση __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Η συνάρτηση βοηθού __x καλείται με τον τελεστή ελέγχου σφαλμάτων @, ο οποίος συνήθως δεν συνιστάται, προκειμένου να είναι σε θέση να ελέγχει μεταβλητές που δεν έχουν οριστεί προηγουμένως.

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

Υλοποίηση __x:

740550c6b3d2b9ae03e4d220eb08e6e3

Πίσω