PHP ve JavaScript'teki değişkenlerle günlük olarak çalışırken, genellikle bir değişkenin boş olup olmadığı sorgusuyla karşılaşır. Kontrol amacıyla yerel işlevleri ve bunların farklılıklarını bilmek faydalı olacaktır. Sinir bozucu bir şekilde, bir değişkenin mevcut olup olmadığını sezgisel olarak kontrol etmenin kolay bir yolu yoktur. Aşağıdaki matris bununla ne kastedildiğini açıklamaktadır. Bununla birlikte, istediğiniz şey küçük yardımcı fonksiyonlarla güçlendirilebilir.
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 uygulaması:
740550c6b3d2b9ae03e4d220eb08e6e3
__X yardımcı işlevi, daha önce tanımlanmamış değişkenleri kontrol edebilmek için genellikle tavsiye edilmeyen Hata Kontrol Operatörü @ ile çağrılır.
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 uygulaması:
740550c6b3d2b9ae03e4d220eb08e6e3