PHP

함수() or die("")?

by YJSoft posted Oct 26, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print
Extra Form

가끔 ?PHP 코딩을 보면

$변수=함수() or die("오류");

이렇게 해둔 걸 볼 수 있을 겁니다.

이것은 or문의 특성을 이용한 것인데요(or문은 둘중 하나라도 참일 경우 값이 true가 됩니다.)


or문의 예를 하나 들어 보겠습니다.

$a=$b or $c

$b가 true(0이외)일 경우 $c의 값은 필요가 없습니다. or문은 둘중 하나라도 true일 경우 true를 반환하기 때문이죠.

하지만 $b가 false(0)일 경우 $c의 값이 true면 true, false면 false가 됩니다. 즉 $c 값이 필요하죠.


다시 처음의 식으로 돌아가서,

만약에 저 함수가 정상 실행된다면 함수의 반환값이 변수에 저장되겠죠? 그리고 그 함수의 반환값이 0이 아닌 다음에야 true로 인식되어 die문은 실행할 필요가 없게 됩니다.(설사 false라 해도 하나가 이미 true니 판단할 필요가 없겠죠)


그러나 오류 등의 이유로 함수 반환값이 0이 된다면 die 함수를 실행 시켜야 or문의 값을 구할 수 있겠죠.

그리고 die 함수는 PHP 파일의 실행을 중단시킵니다.

그래서 저 식 하나로 오류 발생시 PHP 실행을 중단시킬 수 있게 됩니다.

  • ?
    퍼니엑스이 2014.03.05 23:51
    참고로 표현식 AND 표현식을 쓰면... if 문과 동일하게 첫번째 표현식이 true일때 두번째 표현식이 실행됩니다
  • ?
    또희™ 2014.03.05 23:51
    ♡축하드려용:) 퍼니엑스이님 또희™님이 45 점이 드립니다.♡