Я ОЧЕНЬ надеюсь, что вам этот код придется в дальнейшем поддерживать и модернизировать.
И это будет меня очень, очень радовать )
Голова дана человеку не только для того, чтобы в неё есть.
Флаг в руки и барабан на шею. Безумству храбрых поем мы песню.
Никаких "вариантов" тут встречать не надо. Если человек в принципе умеет ходить, и знает что такое алгебра с литературой.
Вы вообще в состоянии понять, что это три разных действия, а не одно?
Это конечно ад, но уговаривать автора переписывать эту "процедурку" на нормальное MVC с DI я конечно не возьмусь.
поэтому
АХАХАХАХАХАХАХА!
Этот ответ выдает джуна сразу! )))
Первый пример - это говнокод самого автора, если следить за его выступлениями на этом ресурсе. Причем при сравнении он имеет в виду именно значение переменной, а не результат isset. И его уже натыкали в это носом. Но поскольку до него очень долго всё доходит, он решил уточнить, правильно ли все понял.
А если делать чтобы доказать всем, что они круглые идиоты, не понимающие ваших уникальных проблем - то конечно надо по всему коду распихивать костыли с проверками на каждый чих.
Задача этих ошибок не в том, чтобы программист все время как обезьяна везде писал isset и empty.
Любые сообщения об ошибках - служат для помощи программисту.
Данная ошибка подсказывает, что программист пытается обратиться к переменной, или элементу массива которых нет.
И увидев эту ошибку, программист не должен тупо затыкать ей рот через isset! А должен разобраться - почему вдруг нет нужной переменной.
$data=explode("|", $file[0] ?? '');
?
Это мне то нужно в зеркало смотреться, я так понимаю вы от него вообще не отходите, восхваляя самого себя, приговаривая, что кругом говнокодеры, недоучки и криворукие.