Như đã trả lời, @ sẽ ngăn lỗi (nếu có) hiển thị. Về mặt hiệu suất, điều này không được khuyến khích.
Những gì php đang làm là:
+ đọc trạng thái hiển thị lỗi
+ cài đặt hiển thị lỗi để hiển thị không có lỗi
+ chạy chức năng của bạn
+ đặt hiển thị lỗi về trạng thái trước đó
Tất cả các biểu thức PHP có thể được gọi với tiền tố "@", tắt báo cáo lỗi cho biểu thức cụ thể đó.
<?php
/* Lỗi tập tin cố ý */
$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
// điều này hoạt động cho bất kỳ biểu thức, không chỉ các chức năng:
$value = @$cache[$key];
// sẽ không đưa ra thông báo nếu chỉ số $ key không tồn tại.
?>
<?php
/* Lỗi tập tin cố ý */
$my_file = !@file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
// điều này hoạt động cho bất kỳ biểu thức, không chỉ các chức năng:
$value = @$cache[$key];
// sẽ không đưa ra thông báo nếu chỉ số $ key không tồn tại.
?>
Nó sẽ không đưa ra bất cứ một thông báo nào cả :)