WHen a variable in php is declared it means that it is equal to 1 or any string value right?
When it is not declare it’s because it is equal to 0, empty, null or false right?
WHen a variable in php is declared it means that it is equal to 1 or any string value right?
When it is not declare it’s because it is equal to 0, empty, null or false right?
No, not really.
A variable can have any value - including type null.
An undefined variable doesn’t really have a value, because it’s not defined. But if you try to read the value of an undefined variable, php will be nice to you and make a value up. This value is always type null.
Which values are “equal” to other values depends on which equality comparison operator you use(== vs ===) and what type of operands(the values on the left and right of the operator), and what value they have.
It’s kinda hairy.
http://php.net/manual/en/types.comparisons.php
But, if you just want to know if “a variable exists”, isset() should do the trick. It does nothing more than check if the value of a variable is type null. So, you can’t use this to distinguish between an undefined variable, and a variable that has been assigned the value of type null. But, it’s very uncommon to need to make such a distinction. Different way’s do exist if you need to.
Wow, I never knew isset() returned false for null. I feel like I just discovered food… I guess we all learn something every day.