Возможный дубликат:
Ссылка. Что означает этот символ в PHP?
У меня есть это задание:
$buffer=@data_value[$i];
что означает @?
Это предотвращает появление любых предупреждений или ошибок при доступе к i
му элементу data_value
.
Подробнее см. В этом сообщении.
@
Будет подавлять ошибки о том, что переменная не инициализируется (будет оцениваться как null
).
Кроме того, у вашего кода, вероятно, отсутствует $ after @:
$buffer=@$data_value[$i];
Он называется «оператором управления ошибками». Поскольку это задание, я считаю, что вы должны сделать все остальное самостоятельно.
Как и выше, он подавляет ошибку, если ключ массива не существует. Версия, которая будет делать то же самое, не прибегая к изворотному подавлению ошибок, – это
$buffer = array_key_exists($i, $data_value) ? $data_value[$i] : null;
@
перед оператором означает, что никаких предупреждений / ошибок не следует сообщать из результата этого утверждения. Проще говоря, для этого утверждения подавляется сообщение об ошибках .
Это особенно полезно, когда, например, @fclose(fopen("file.txt",w"))
который может @fclose(fopen("file.txt",w"))
несколько предупреждений / ошибок в зависимости от ситуации, но с @
перед ним все эти предупреждения или ошибки будут подавлено.