저만 몰랐나요..?
간단히 얘기해서.. 조건문안의 함수는 조건문이 참일때만 실행된다..
라는건데요..
<?
echo $test_text = "<br>hi~hello";
if( 0 && $test_text = substr($test_text, 4, 3) ) echo "hi~";
echo "$test_text <br>";
?>
이런 소스에서 if문이 거짓이라서 substr 이 실행 안되고
hi~hello
hi~hello
라는결과가 나오더라구요.
조건식을 만들고 있는데.. 원래 생각대로라면, 참이던 거짓이던 함수가 실행되어서.. 함수의 결과는 나와야 할텐데.. 안나오게 되버려서.. 왜그런가 보니.. 이런거 같더라구요..
저희쪽 서버에서만 그런지.. php가 기본적으로 그렇게 되어 있는지..
php메뉴얼에 어떻게 검색해야 나올지 몰라서.. 찾진 못하고..
구글링 해도.. 키워드가 마땅치 않는지 않나오고..
그냥.. 이렇게 되는구나~ 하고 있네요 ㅎㅎ
댓글 5개
13년 전
if( 0 && $test_text =~~~)
and 조건문이란 것이 앞에서 거짓이 나오면 뒤의 조건은 따져볼 필요가 없으니
당연히 실행이 안되어 $test_text 는 변화가 없습니다
and 조건문이란 것이 앞에서 거짓이 나오면 뒤의 조건은 따져볼 필요가 없으니
당연히 실행이 안되어 $test_text 는 변화가 없습니다
13년 전
저도 저 관련글 처음 봤을때는 좀 신기하긴 했습니다...잘 사용할 만한 문구는 아니지만 나름 응용해보면 재미있는 결과가 노울수도 있더라구요...ㅎㅎ
실제론 헷갈리므로 사용은 안하지만요;;
실제론 헷갈리므로 사용은 안하지만요;;
b1ack
13년 전
전.. 여태껏 의심도 않하고.. 꾀 많은곳에 저런식으로 짜놓은 소스가 있더군요..
교묘하게 결과가 제대로 나오는것만 사용되 버려서..
이제서야 이걸 알아챈.. ㅎㅎ
교묘하게 결과가 제대로 나오는것만 사용되 버려서..
이제서야 이걸 알아챈.. ㅎㅎ
byfun
13년 전
다른 언어(C, Java.. 등등) 에서도 &&(AND) 또는 ||(OR) 연산자는 그런 방식으로 동작합니다.
|| 연산자는 앞이 참이면 뒤 조건을 보지 않지요.
|| 연산자는 앞이 참이면 뒤 조건을 보지 않지요.
게시판 목록
자유게시판
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 |
|
1주 전 | 10 | |
| 199718 |
|
1주 전 | 9 | |
| 199717 | 3주 전 | 20 | ||
| 199716 |
느긋한카키쿠키
|
3주 전 | 17 | |
| 199715 |
현대적인무질서한까마귀
|
3주 전 | 20 | |
| 199714 | 3주 전 | 23 | ||
| 199713 | 3주 전 | 33 | ||
| 199712 | 1개월 전 | 291 | ||
| 199711 |
안졸리니졸리니
|
1개월 전 | 144 | |
| 199710 |
|
1개월 전 | 160 | |
| 199709 |
|
1개월 전 | 91 | |
| 199708 | 1개월 전 | 106 | ||
| 199707 | 1개월 전 | 240 | ||
| 199706 | 1개월 전 | 41 | ||
| 199705 | 1개월 전 | 29 | ||
| 199704 | 1개월 전 | 46 | ||
| 199703 | 2개월 전 | 57 | ||
| 199702 | 2개월 전 | 97 | ||
| 199701 | 2개월 전 | 111 | ||
| 199700 | 2개월 전 | 83 | ||
| 199699 | 2개월 전 | 88 | ||
| 199698 | 2개월 전 | 134 | ||
| 199697 | 2개월 전 | 99 | ||
| 199696 |
|
2개월 전 | 245 | |
| 199695 | 2개월 전 | 88 | ||
| 199694 | 2개월 전 | 117 | ||
| 199693 | 2개월 전 | 185 | ||
| 199692 | 2개월 전 | 195 | ||
| 199691 |
|
2개월 전 | 169 | |
| 199690 | 2개월 전 | 257 | ||
| 199689 | 2개월 전 | 160 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기