I want a 0 to be considered as an integer and a ‘0’ to be considered as a string, but empty() considers the ‘0’ as a string in the example below,
$var = '0';
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is empty';
}
How can I ‘make’ empty() to take ‘0’s as strings?
You cannot make empty() take it. That is how it was designed. Instead you can write an
andstatement to test:You could use
isset, unless of course, you want it to turn away the other empties thatemptychecks for.