每天在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