another option, depending on what you like to look at:
switch($foo ?: strtoupper(gettype($foo))){
case 'bar':
case 'bork':
echo $foo;
break;
case 'NULL': // $foo === null
echo 'null';
break;
case 'INTEGER': // $foo === 0
echo 'zero';
break;
case 'ARRAY': // $foo === array()
echo 'array';
break;
case 'STRING': // $foo === ''
echo 'empty';
break;
case 'BOOLEAN': // $foo === false
echo 'false';
break;
default:
echo $foo;
break;
}
depending on your data, you could include an underscore for added clarity, like '_NULL', but it's not as clean IMO.
personally, I concur with the accepted answer for something like a quick null check:
case $foo === null: