Есть ли способ проверить, существует ли индекс массива или нет ? isset()
не сообщает вам, существует или нет индекс, но имеет значение null. Если я это сделаю: isset($array[$index]) || is_null($array[$index])
isset($array[$index]) || is_null($array[$index])
это не сработает, потому что если индекс не существует, is_null сработает.
Как я могу проверить это, пожалуйста? Также есть способ проверить, только если что-то существует, независимо от того, установлено ли оно нулевым или нет?
Функция array_key_exists () может это сделать и свойство_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); ?>