В скрипте есть несколько include для подключения нужных частей скрипта из отдельных файлов. В одном из таких файлов может быть переменная $data, если подходят условия, но если условия не подходят, то эта переменная не создаётся. Далее в другом подключаемом файле тоже есть переменная $data и тут она существует всегда. Синтаксис у неё такой
$data .= 'данные';
Обратите внимание на .= Данные соединяются с помощью точки перед равно, но проблема в том, что если в первом файле данные не подключаются, то из-за точки возникает некритическая ошибка Notice: Undefined variable: data
Чтобы этого избежать, я обычно добавляю собачку перед переменной.
@$data .= 'данные';
Но есть и другой способ, например, можно поставить if
if (isset($data)) { $data .= 'данные'; }
else { $data = 'данные'; }
Какой вариант из этих двух лучше?
Слышал, что собачка замедляет скрипт в 16 раз. А конструкция if во сколько замедляет?