是否可以区分为数组元素分配的 NULL 和不存在的元素?
$array = ['a', 'b', 'c', 'd'];
$array[3] = null;
echo "<pre>";
echo "is_null -> 5 "; var_dump(is_null($this->params[5])); // [1] true
echo "is_null -> 3 "; var_dump(is_null($this->params[3])); // [2] true
echo "isset -> 5 "; var_dump(isset($this->params[5])); // [3] false
echo "isset -> 3 "; var_dump(isset($this->params[3])); // [4] false
echo "count "; var_dump(count($this->params)); // [5] 4
print_r($array); // [6]
echo "</pre>";
有了结果>[1...3],一切都清楚了。为什么你>[4] false?同时>[5] count = 4,如果你打印数组,第三个元素存在,但等于没有:
// >[6]
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
NULL
}
isset()-true如果所有传递的参数都已定义且不相等,则返回nullis_null()-true如果传递的参数相等则返回nullarray_key_exists()-true如果数组包含具有指定索引的元素,则返回