| 空値の種類 | empty | isset | is_null | == "" | == null | == false | == 0 | === "" | === null | === false | === 0 | empty0【※1】 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| "" | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| null | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
| 0.0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
| false | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
| '0' | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| array() | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
| 未宣言 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
※1 empty0
/**
* 0以外の空判定
*
* @note
* いくつかの空値のうち、0と'0'は空と判定しない。
*
* @param $value
* @return int 判定結果 0:空でない , 1:空である
*/
function _empty0($value){
if(empty($value) && $value!==0 && $value!=='0'){
return 1;
}
return 0;
}