Ошибка неопределенного индекса PHP (Laravel) внутри isset

У меня сегодня странная ошибка Laravel. Сообщение:  введите описание изображения здесь

В нем четко указано, что существует неопределенный индекс массива. Однако, когда я посмотрел на визуализированный файл лезвия, упомянутый здесь, и проверил строку 272, я получил следующее:

<?php if(isset($_COOKIE[$_COOKIE['userhash'] . '-surgery'])): ?>

$_COOKIE['userhash'] всегда установлен. Как видно на изображении выше, это значение 70c0a3a1. Как это возможно, что PHP (или Laravel) выдает ошибку внутри оператора isset? Как я могу решить эту проблему?


person Balázs Varga    schedule 31.10.2018    source источник
comment
Используйте !empty вместо isset. Прочтите документацию, как оба работают.   -  person emix    schedule 31.10.2018
comment
Вы видите ошибку 3 из 3. Что говорит ошибка 1/3? Обычно устранение первой ошибки помогает решить проблему. Вам нужно прокрутить страницу с ошибкой вниз, чтобы получить ошибку 1/3.   -  person Patrick    schedule 31.10.2018
comment
Изменение isset на !empty решило проблему ... Я не знал, что в php isset не означает, что установлено, но не имеет значения null и не может проверить действительно неустановленные значения.   -  person Balázs Varga    schedule 31.10.2018


Ответы (1)


Пожалуйста, попробуйте это:

Сначала вы можете проверить, что ($_COOKIE['userhash']) установлен или нет как

isset($_COOKIE['userhash'])

Тогда вы можете попробовать это:

if(isset($_COOKIE['userhash']) && isset($_COOKIE[$_COOKIE['userhash'] . '-surgery']))`
person Jasmel Singh    schedule 31.10.2018
comment
Он уже проверил строку выше, и, как показывает мой пример, userhash установлен правильно. Ваш код делает то же самое, что и мой, и не работает по той же причине ... - person Balázs Varga; 31.10.2018