JavaScript's 'strict not equal' operator ( !=) on comparison with undefined does not result in false on null values. This is my personal belief as to why the core PHP developers left isset() to return false when something is null. However, if you're finding that in your code you have to check for whether a variable has been defined or not, then you're likely doing something wrong. $isset = array_key_exists('otherVariable', get_defined_vars()) $isset = array_key_exists('variable', get_defined_vars()) We still can't use isset(get_defined_vars()) here because the key could exist and the value still be null, so we have to use array_key_exists('variable', get_defined_vars()). Using get_defined_vars() will return an associative array with keys as variable names and values as the variable values. So how do you actually check if a variable is defined? You check the defined variables. $variable is being defined as null, but the isset() call still fails. $isset = isset($variable) īut in this example, it won't work like JavaScript's undefined check. In the following example it will work the same way as JavaScript's undefined check. ![]() There is no equivalent to JavaScript's undefined (which is what was shown in the question, no jQuery being used there). To check if a variable is undefined you will have to check if the variable is in the list of defined variables, using get_defined_vars(). I don't know why it was decided that isset() would return false if the value is null. ![]() ![]() It's important to realize in programming that null is something. I don't know why there are so many answers stating that isset() is the way to go, or why the accepted answer states that as well. It seems you've specifically stated that you're not looking for isset() in the question. The isset() function does not check if a variable is defined.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |