PHP isset, empty, is_null の違い

紛らわしいのでメモ。

if($var)issetemptyis_null
$var = 1;TRUETRUEFALSEFALSE
$var = '';FALSETRUETRUEFALSE
$var = '0';FALSETRUETRUEFALSE
$var = 0;FALSETRUETRUEFALSE
$var = NULL;FALSEFALSETRUETRUE
$varFALSEFALSETRUETRUE
$var = array();FALSETRUETRUEFALSE
$var = array(1);TRUETRUEFALSEFALSE