PHP - 检查数组索引是否存在或是否为空

2022-08-30 12:03:41

有没有办法检查数组索引是否存在或是否为空? 不会告诉您索引是不存在还是存在但为 null。如果我这样做:它将不起作用,因为如果索引不存在,is_null将崩溃。isset()isset($array[$index]) || is_null($array[$index])

我该如何检查这个?还有没有办法只检查某些东西是否存在,无论它是否设置为null?


答案 1

函数array_key_exists()可以做到这一点,并且property_exists()对象,加上Vineet1982所说的。感谢您的帮助。


答案 2

这是一个非常好的问题,你可以使用get_defined_vars()来解决这个问题:

$foo = NULL;
$a = get_defined_vars();

if (array_key_exists('def', $a)) {
   // Should evaluate to FALSE
 }; 

if (array_key_exists('foo', $a)) {
   // Should evaluate to TRUE
};

这将解决您的问题