Khi làm việc với các biến trong PHP và JavaScript, người ta thường bắt gặp truy vấn xem một biến có trống không. Cần phải biết các hàm gốc và sự khác biệt của chúng để phục vụ mục đích kiểm tra. Thật khó chịu, không có cách nào dễ dàng để kiểm tra một cách trực quan xem một biến có hiện diện hay không. Ma trận dưới đây làm rõ ý nghĩa của điều này. Tuy nhiên, những gì bạn muốn có thể được trang bị thêm với các chức năng trợ giúp nhỏ.
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 |
Triển khai __x:
740550c6b3d2b9ae03e4d220eb08e6e3
Hàm trợ giúp __x được gọi với toán tử kiểm soát lỗi @, thường không được khuyến nghị, để có thể kiểm tra các biến chưa được xác định trước đó.
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 |
Triển khai __x:
740550c6b3d2b9ae03e4d220eb08e6e3