error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED);
형제 여러분, 이 코드 줄의 의미와 설정할 오류 수준을 설명해 주세요.
error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED);
형제 여러분, 이 코드 줄의 의미와 설정할 오류 수준을 설명해 주세요.
공식 PHP 문서에서 확인할 수 있습니다: error_reporting
위 코드의 의미: E_NOTICE E_SCRICT E_DEPRECATED를 제외한 모든 오류가 보고됩니다.
E_ALL ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED 연속 XOR 연산입니다.
E_ALL E_NOTICE E_STRICT E_DEPRECATED 이는 상수이며, 해당 이진수는 대략 다음과 같습니다
<code>E_NOTICE 00001 E_STRICT 00010 E_DEPRECATED 00100 E_ALL 11111 </code>
XOR 연산을 수행한 후 같은 것은 0으로, 다른 것은 1로 바꾸는 것과 같습니다. 즉, E_ALL이 XOR 연산을 수행한 것을 제외한다는 결과가 나옵니다.
위 상수에 해당하는 값은 순전히 허구입니다. 인쇄하여 해당 값이 무엇인지 확인할 수 있습니다.
마찬가지로 E_NOTICE | E_STRICT와 같은 방법을 사용하여 보고를 위한 여러 수준을 설정할 수도 있습니다. or 연산 후 1이 있으면 1, 모두 0이면 0이 되는 것이 원칙입니다
즉, 모든 유형의 오류(E_ALL)를 출력하지만 E_NOTICE, E_STRICT 및 E_DEPRECATED는 제외됩니다.
E_ALL은 모두 1 숫자이고 E_NOTICE, E_STRICT 및 E_DEPRECATED는 모두 XOR되어 해당 항목을 제외하는 로그 수준을 형성하므로 여기서는 비트 연산 기술이 사용됩니다.