[php] 함수 호출 전의 @ 문자

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 표현식은 “@”접두어로 호출 할 수 있으며, 이로 인해 특정 표현식에 대한 오류보고가 꺼집니다.


답변

모든 사람들이 말했듯이 특정 기능에 대한 오류 출력을 중지합니다. 그러나 오류 표시 설정을 두 번 변경해야하기 때문에 성능이 크게 저하됩니다. 경고 나 오류를 무시하지 말고 대신 코드를 수정하는 것이 좋습니다.


답변