@ символ перед вызовом функции

В чем разница между этими двумя вызовами функций в PHP?

init_get($somevariable); @init_get($somevariable); 

«@» отключит любые ошибки php, которые может повысить ваша функция.

Он замалчивает ошибки и предупреждения. См. Операции управления ошибками .

Как уже было сказано, @ остановит ошибку (если она есть).
С точки зрения производительности это не рекомендуется.

Что делает php:

  • чтение состояния отображения ошибки
  • установка отображения ошибки для отображения ошибок
  • запуск вашей функции
  • установка отображения ошибки в предыдущее состояние

Если вы не хотите, чтобы ошибки отображались, используйте error_reporting(0); ,

Или просто напишите код ошибки: P

http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38

Все выражения PHP можно вызывать с префиксом «@», который отключает отчет об ошибках для этого конкретного выражения.

Как сказали все, он останавливает вывод ошибок для этой конкретной функции. Однако это значительно снижает производительность, так как она должна дважды изменять настройку отображения ошибки. Я бы рекомендовал НЕ игнорировать предупреждения или ошибки и вместо этого исправлять код.