2010-12-08 5 views
4

Possible Duplicate:
Reference - What does this symbol mean in PHP?Что означает @ перед переменной?

У меня это назначение:

[email protected]_value[$i]; 

что делает @ означает?

+15

Это должно помешать вам понять, что не так с вашим кодом. – 2010-12-08 23:01:32

+1

На самом деле это утверждение даже не компилируется – 2010-12-08 23:02:45

+0

@ Ignacio I второе. Наши стандарты кода phpcs настроены на то, чтобы забрать всех разработчиков, пытающихся это сделать, и кричать на них. – 2010-12-08 23:03:42

ответ

8

Это предотвращает возникновение любых предупреждений или ошибок при доступе к элементу i th из data_value.

См. Сообщение this для подробностей.

0

@ перед заявлением означает, что никаких предупреждений/ошибок не следует сообщать из результата этого утверждения. Проще говоря, Отчет об ошибках подавлен для этого утверждения.

Это особенно полезно, когда, например, @fclose(fopen("file.txt",w")), который может вызывать несколько предупреждений/ошибок в зависимости от ситуации, но перед этим стоит @, все эти предупреждения или ошибки будут подавлены.

1

Он называется «оператором управления ошибками». Поскольку это задание, я считаю, что вы должны сделать все остальное самостоятельно.

5

@ будет подавлять ошибки в отношении не инициализации переменной (будет оцениваться как null).

Кроме того, ваш код, вероятно, отсутствует $ после @:

[email protected]$data_value[$i]; 
0

Как и выше, он подавляет ошибку, если массив ключей не существует. Версия, которая будет делать то же самое, не прибегая к уклончивому подавлению ошибок, -

$buffer = array_key_exists($i, $data_value) ? $data_value[$i] : null; 
Смежные вопросы