Подтвердить что ты не робот

PHP. Проверка наличия или отсутствия индекса массива.

Есть ли способ проверить, существует ли индекс массива или имеет значение null? isset() не говорит вам, существует ли индекс или существует, но имеет значение null. Если я это сделаю: isset($array[$index]) || is_null($array[$index]), это не сработает, потому что если индекс не существует, is_null будет сбой.

Как я могу это проверить? Также есть способ проверить, только если что-то существует, независимо от того, установлено ли оно нулевым или нет?

4b9b3361

Ответ 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
};

Это решит вашу проблему.