Ответ 1
Функция array_key_exists() может сделать это, и property_exists() для объектов, а также то, что сказал Vineet1982. Благодарим за помощь.
Есть ли способ проверить, существует ли индекс массива или имеет значение null?
isset()
не говорит вам, существует ли индекс или существует, но имеет значение null.
Если я это сделаю: isset($array[$index]) || is_null($array[$index])
, это не сработает, потому что если индекс не существует, is_null будет сбой.
Как я могу это проверить? Также есть способ проверить, только если что-то существует, независимо от того, установлено ли оно нулевым или нет?
Функция array_key_exists() может сделать это, и property_exists() для объектов, а также то, что сказал Vineet1982. Благодарим за помощь.
Это очень хороший вопрос, и вы можете использовать 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
};
Это решит вашу проблему.
Простейший, определенный в: http://php.net/manual/en/function.array-key-exists.php
<?php
$array=array('raja'=>'value', 'john'=>'value2');
$var='raja';
echo array_key_exists($var, $array);
?>