php 7.0.8 в Ubuntu 16.0.4. LTS мог бы кто-нибудь подсказать, почему проверка ключа массива не удастся, когда ключ явно существует, выполнение программы просто останавливается, без объяснения даже при включенной регистрации всех ошибок.
Тип данных, содержащийся в элементе массива, представляет собой строку, содержащую торрент-файл, загруженный с веб-сайта fedora. https://torrents.fedoraproject.org/
другие функции здесь не работают, например! пусто в ключе массива
ключ в этом случае 0
if(array_key_exists($index, $this->_webpage)){
return $this->_webpage[$index];
}else{
/* throw notice */
trigger_error("Array index is out of range. Can not get webpage.", E_USER_NOTICE);
return FALSE;
}
ПРИМЕЧАНИЕ: я использовал эту же функцию, чтобы проверить, что веб-страницы были загружены и работали в той же системе, я просто добавляю анализ торрента в мое приложение
РЕЗЮМЕ array_key_exists определенно скажет вам, если ключ существует в массиве, тогда как Исеть вернет истину только в том случае, если ключ / переменная существует и не является нулевым и пустой вернуть true, если переменная является пустой строкой, false, array (), NULL, «0 ?, 0 и неустановленная переменная
Подробнее
Из руководства по PHP — isset ():
isset — определяет, установлена ли переменная и не равна ли NULL
Другими словами, он возвращает true только тогда, когда переменная не равна нулю.
Из руководства по PHP — пусто ():
empty — определяет, является ли переменная пустой
Другими словами, он вернет true, если переменная является пустой строкой, false, array (), NULL, «0 ?, 0 и неустановленная переменная.
Также empty () не генерирует предупреждение, если переменная не существует.
Из руководства по PHP — array_key_exists ():
Проверяет, существует ли данный ключ или индекс в массиве
Таким образом, array_key_exists () возвращает TRUE, если данный ключ установлен в массиве. ключ может быть любым значением, возможным для индекса массива.
Других решений пока нет …