좋아요
아래 코드
<code>echo '配置错误'; exit(3); //状态3表示由于配置错误而退出</code>
및
<code>// 直接退出 exit('配置错误');</code>
차이점은 무엇인가요?
겸손하게 마스터에게 조언을 구하세요
좋아요
아래 코드
<code>echo '配置错误'; exit(3); //状态3表示由于配置错误而退出</code>
및
<code>// 直接退出 exit('配置错误');</code>
차이점은 무엇인가요?
겸손하게 마스터에게 조언을 구하세요
먼저 결론을 내리자면 미묘한 차이가 있습니다.
솔직히 문서 이야기를 하자면
상태가 문자열인 경우 이 함수는 종료 직전의 상태를 인쇄합니다.
상태가 정수인 경우 해당 값은 종료 상태로 사용되며 인쇄되지 않습니다. 종료 상태는 0~254 범위에 있어야 하며, 종료 상태 255는 PHP에 예약되어 있으며 상태 0은 사용되지 않습니다. 프로그램을 성공적으로 종료하는 데 사용됩니다.
참고: PHP >= 4.2.0은 정수인 경우 상태를 인쇄하지 않습니다.
간단히 말하면 문자열이면 출력되고, 숫자이면 종료 상태 코드로 사용되며 출력되지 않습니다.
<code><?php echo "出错"; exit(3); // exit("出错"); ?></code>
위의 두 줄의 코드를 각각 실행해 보면 결과는 동일하다는 것을 알 수 있습니다.
차이점은 다음과 같습니다.
두 번째 줄에 주석을 달고 터미널에서 다음 명령을 실행합니다.
php test.php // "error" 인쇄
echo $? //인쇄 3
첫 번째 줄에 주석을 달고 터미널에서 다음 명령을 실행합니다.
php test.php // "error" 인쇄
echo $? //0 인쇄
즉, eixt()의 매개변수가 int 유형인 경우 종료 상태 코드로 사용됩니다.
$?설명: 마지막으로 실행된 명령의 종료 값을 저장합니다(마지막 명령의 종료 상태, 0은 오류가 없음을 의미).