'Will isset() return false if I assign NULL to a variable?
I mean... I "set" it to NULL. So isset($somethingNULL) == true?
Solution 1:[1]
Yes - from the ISSET() documentation:
$foo = NULL;
var_dump(isset($foo)); // FALSE
/* Array example */
$a = array ('test' => 1, 'hello' => NULL);
var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['hello'])); // FALSE
Solution 2:[2]
If you need to check if an array contains a key but its value is null, you can use array_key_exists
<?php
$array = [
'qwe' => null,
'foo' => 123,
];
var_dump(isset($array['foo'])); // bool(true)
var_dump(array_key_exists('foo', $array)); // bool(true)
var_dump(isset($array['qwe'])); // bool(false)
var_dump(array_key_exists('qwe', $array)); // bool(true) <---
var_dump(isset($array['bar'])); // bool(false)
var_dump(array_key_exists('bar', $array)); // bool(false)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | OMG Ponies |
| Solution 2 | wowandy |
