nastya97core
@nastya97core
Начинающий программист

Как в php8 игнорировать только ошибки Warning: Undefined variable?

В коде я встречаю много ошибок: Warning: Undefined variable. Я не совсем уверена, должны ли они меня смущать. К примеру, у меня есть такая конструкция:
В массиве есть строка, которую я разбираю регуляркой и складываю числа.
for ($i = 0, $size = count($result); $i < $size; ++$i) {
	preg_match_all('/([0-9]*[.])?[0-9]+/uis', $result[$i]['subject'], $matches);
	$money1 = $money1 + $matches[0][0];
	$money2 = $money2 + $matches[0][1];
}

Разумеется, в первой итерации $money не будет существовать.

вопрос:
Как не видеть ошибки, которые касаются только отсутствия переменных?

конфиг
Я использую сейчас openserver и там в конфиге прописано:
error_reporting = E_ALL & ~E_NOTICE
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
TNPTSYWWCC
@TNPTSYWWCC
And I Told Them I Invented Times New Roman
не совсем уверена, должны ли они меня смущать.
Должны.
Разумеется, в первой итерации $money не будет существовать.
Насколько дорого для вас инициализировать переменную перед циклом? Зачем создавать себе проблемы, скрывать ошибки, гадить в логи, если можно писать код, который не будет выдавать ошибок?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Отключить вывод предупреждений только для необъявленных переменных - не получится.
И наплевательски относится к таким предупреждениям - плохая практика.
Вот взломают ваш сайт через такую неопределённую переменную - и АГА!

P.S. Самый простой способ не видеть предупреждений - использовать @ перед неопределённой переменной: $money1 = @$money1 + $matches[0][0];, но всё равно это плохой стиль, за такое по рукам надо стегать, розгами!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы