묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[re] 구문의 조건식에 대한 질문여...
2003.02.04 00:52
원칙적으로 while, for, if문에는 조건식이 와야합니다.
하지만 변수 또는 상수값도 올수 있는데 이 경우 0과 null string은 False, 이외는 True로 판단을 합니다.
소스3의 if에는 조건식이 없습니다. 따라서 상수값으로 판단을 하여 if는 False로 판단합니다.
소스4를 보면 for문의 두번째 자리에 조건식이 와야하지만 변수할당만 이루어지고 있습니다.
이 경우에는 소스3과 마찬가지로 변수값에 따라 True/False가 결정됩니다.
(참고로 소스4와 같이 조건식이 없는 for문은 사용안하는게 좋습니다. 조건식이 없는 for문은 while을 사용하는게 더 나을겁니다.)
소스5를 보면 소스4와는 달리 두번째 자리에 조건식이 있습니다.
따라서 조건식의 조건을 판단해서 True/False를 결정합니다.
소스3에서는 상수값만으로 판단하지만 소스5는 조건식 전체를 판단하죠.
$a의 값을 판단하는게 아니라 ($a>=3)의 조건을 판단하는겁니다.
그런데 소스5는 실행해보셨는지요? 저렇게 하면 3만 출력될텐데요.
$a=3일때 출력이 되고 $a--가 실행이 되여 $a=2가 되죠.
그리고 조건식 ($a>=3)을 만나면 $a=2이므로 False가 되고 for문은 종료됩니다.
하지만 변수 또는 상수값도 올수 있는데 이 경우 0과 null string은 False, 이외는 True로 판단을 합니다.
소스3의 if에는 조건식이 없습니다. 따라서 상수값으로 판단을 하여 if는 False로 판단합니다.
소스4를 보면 for문의 두번째 자리에 조건식이 와야하지만 변수할당만 이루어지고 있습니다.
이 경우에는 소스3과 마찬가지로 변수값에 따라 True/False가 결정됩니다.
(참고로 소스4와 같이 조건식이 없는 for문은 사용안하는게 좋습니다. 조건식이 없는 for문은 while을 사용하는게 더 나을겁니다.)
소스5를 보면 소스4와는 달리 두번째 자리에 조건식이 있습니다.
따라서 조건식의 조건을 판단해서 True/False를 결정합니다.
소스3에서는 상수값만으로 판단하지만 소스5는 조건식 전체를 판단하죠.
$a의 값을 판단하는게 아니라 ($a>=3)의 조건을 판단하는겁니다.
그런데 소스5는 실행해보셨는지요? 저렇게 하면 3만 출력될텐데요.
$a=3일때 출력이 되고 $a--가 실행이 되여 $a=2가 되죠.
그리고 조건식 ($a>=3)을 만나면 $a=2이므로 False가 되고 for문은 종료됩니다.