PHP에서이 두 함수 호출의 차이점은 무엇입니까?
init_get($somevariable);
@init_get($somevariable);
답변
“@”는 함수가 발생시킬 수있는 PHP 오류를 침묵시킵니다.
답변
오류 및 경고를 침묵시킵니다. 오류 제어 연산자를 참조하십시오 .
답변
이미 대답했듯이 @
오류 (있는 경우)가 표시되지 않습니다.
성능면에서 이것은 권장되지 않습니다.
PHP가하는 일은 :
- 에러 표시 상태 읽기
- 오류가 표시되지 않도록 오류 표시 설정
- 기능을 실행
- 오류 표시를 이전 상태로 설정
오류를 표시하지 않으려면 use을 사용하십시오 error_reporting(0);
.
아니면 그냥 버그 무료 코드를 작성하십시오 : P
답변
http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38
모든 PHP 표현식은 “@”접두어로 호출 할 수 있으며, 이로 인해 특정 표현식에 대한 오류보고가 꺼집니다.
답변
모든 사람들이 말했듯이 특정 기능에 대한 오류 출력을 중지합니다. 그러나 오류 표시 설정을 두 번 변경해야하기 때문에 성능이 크게 저하됩니다. 경고 나 오류를 무시하지 말고 대신 코드를 수정하는 것이 좋습니다.