Что означает @ перед переменной?

Возможный дубликат:
Ссылка. Что означает этот символ в 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")) несколько предупреждений / ошибок в зависимости от ситуации, но с @ перед ним все эти предупреждения или ошибки будут подавлено.