• 목록
  • 아래로
  • 위로
  • 9
  • 홀민
  • 조회 수 930
switch ($value) {     case 'AA':      echo "value equals 1"; 

이렇게만 사용해왔는데....



이렇게도 되네요..

switch (true) {
    case (($view['wr_5'] >= "0") && ($view['wr_5'] < "100")) : echo "100 까지<br />"; $pieces_color = 'green'; break;
    case (($view['wr_5'] >= "101") && ($view['wr_5'] < "300")) : echo "300 까지<br />"; $pieces_color = 'blue'; break;
    case (($view['wr_5'] >= "501") && ($view['wr_5'] < "800")) : echo "800 까지<br />"; $pieces_color = 'orange'; break;
    case (($view['wr_5'] >= "801") && ($view['wr_5'] < "10000")) : echo "800 이상<br />"; $pieces_color = 'red'; break;
//    case (($view['wr_5'] >= "801") && ($view['wr_5'] < "2000")) : echo "2000 까지<br />"; $pieces_color = 'green'; break;
//    case (($view['wr_5'] >= "2001") && ($view['wr_5'] < "10000")) : echo "10000 까지<br />"; $pieces_color = 'green'; break;
}


하나 배웠음.


댓글 9

joyfuI

인터프리터 언어의 장점(?)이죠. 인터프리터 언어에서 스위치문은 사실상 중첩if문과 다를게 없음..

comment menu
2019.01.29. 08:59

신고

"joyfuI님의 댓글"

이 댓글을 신고 하시겠습니까?

홀민 작성자 → joyfuI
profile image

보통은 if 문 쓰는데 선택지가 더 추가 되지 않을때 swich 를 사용하는데 크기 비교를 저렇게 한다는건 첨알았습니다.ㅋㅋㅋ

제가 배우적이 없다보니 기초도 없고..ㅠㅠ

 

comment menu
2019.01.29. 09:01

신고

"홀민님의 댓글"

이 댓글을 신고 하시겠습니까?

title: 황금 서버 (30일)humit
profile image

솔직히 말하면 저런 방법보다는 if else 중첩문을 쓰는 것이 더 좋습니다.

comment menu
2019.01.29. 19:45

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

홀민 작성자 → humit
profile image

근가요..?

머 보기 이뻐서 그랬지만

다 이유가 있으니 if문을 많이 쓰겠죠

 

넵 조언 감사합니다

comment menu
2019.01.29. 19:48

신고

"홀민님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 → humit
profile image

오오~ 그렇군요!!

http://www.fluffycat.com/PHP-Design-Patterns/PHP-Performance-Tuning-if-VS-switch/

이 결과처럼 퍼포먼스 차원에서 if else가 우위에 있기 때문인가요??

comment menu
2019.01.30. 18:38

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

title: 황금 서버 (30일)humit → 이니스프리
profile image

이전 버전에서는 모르겠지만 PHP7 에서는 if else 구문과 매우 유사하게 동작을 합니다.

if else 구문에서는 조건을 비교하고 만족하면 아래를 실행하고 만족하지 않으면 다음 조건을 체크하는 방식으로 되어 있습니다.

반면 switch case 구문에서는 조건들을 차례로 체크를 한 다음에 만족하는 경우가 나오면 해당 조건에 해당하는 구문으로 점프를 해서 실행하도록 되어 있습니다.

 

제가 if else 중첩문을 쓰는 것을 권장하는 이유는 다른 언어에서는 비슷한 문법을 제공하지만 해당 기능을 제공해주지 않고 있기 때문에 그렇습니다. PHP manual을 보더라도 해당 사항이 나와있지는 않기 때문에 나중에 해당 부분을 지원하지 않을 수도 있다는 의미입니다. 예시로도 case 부분에 상수 값만 체크하는 경우만 나와있고 식이 들어간 경우는 없습니다.

 

그러므로 나중에 해당 기능을 지원하지 않는 방향으로 바뀌게 된다면 코드를 전부 고쳐서 사용해야 하기 때문에 그렇습니다.

comment menu
2019.01.30. 19:36

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 → humit
profile image

그렇군요! 상세히 설명해주셔서 감사합니다 ^^

매뉴얼에 switch case 구문에서 식이 들어간 경우가 없다는 것은 처음 알았네요~

deprecated 되는 것이 정말 무서운 것 같아요 ㅠㅠ

PHP 업그레이드 했는데 조건문 때문에 문제가 생기면 당혹스럽겠네요 ㄷㄷ

그나저나 phantomjs도 deprecated 되는 것 같더군요 ㅜㅜ

comment menu
2019.01.30. 22:33

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

홀민 작성자 → 이니스프리
profile image

먼소린지...영어 장애자라ㅠㅠ

comment menu
2019.01.31. 01:43

신고

"홀민님의 댓글"

이 댓글을 신고 하시겠습니까?

홀민 작성자
profile image

흠 humit 님 말씀 잘 알아 들었습니다.

아무래도 안정적인게 좋겠죠..ㅋㅋ

comment menu
2019.01.31. 01:43

신고

"홀민님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 12 updated 마스터 마스터 24.06.20.15:22 204
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 2261
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 5948
공지 낚시성 불법도박 홍보 게시글을 주의하세요. 9 image 네모 네모 22.08.09.18:13 768
공지 슬기로운 포인트 벌이를 하는 법 (22.10.11 업데이트) 64 네모 네모 18.06.17.20:25 15669
6330 근황 제르엘 제르엘 22.12.30.19:26 67
6329 제주도 여행지 추천 받아요 ^^ 8 루디프리아 루디프리아 22.12.20.09:45 157
6328 포인트 복권 긁었는데 꽝 되었네요 5 하이빅스비 하이빅스비 22.12.19.15:31 173
6327 내년에도 연초부터 백수각입니다. 6 국내산라이츄 국내산라이츄 22.12.19.00:26 297
6326 이야기네트워크의 부활? 5 image YJSoft YJSoft 22.12.13.15:54 1122
6325 대한민국이 16진출 이 어려운걸 또 해냈습니다 ㅋㅋ 2 랩퍼투혼 랩퍼투혼 22.12.03.10:12 2020
6324 와... 정말 대단합니다... image 제르엘 제르엘 22.12.03.02:46 1927
6323 탕진 1 image 대전댁 title: 은메달대전댁 22.11.30.09:46 1888
6322 적금 ~ 9 image 대전댁 title: 은메달대전댁 22.11.29.21:49 1160
6321 스터디포어스 비밀주소 ㅋㅋ 5 랩퍼투혼 랩퍼투혼 22.11.29.20:30 174
6320 월드컵때문에 주위가 시끌시끌하네요 5 하이빅스비 하이빅스비 22.11.28.22:30 88
6319 트래픽 2 image 대전댁 title: 은메달대전댁 22.11.28.22:30 72
6318 월드컵 기념 포인트 배팅 같은거 있으면 어떨까요? ㅎㅎ 5 image 그라페인 22.11.28.20:14 83
6317 근-황 5 image 국내산라이츄 국내산라이츄 22.11.28.00:41 87
6316 아이콘을 구매해보세요~~ 저처럼 보여용 3천냥 ㅋ 5 image 랩퍼투혼 랩퍼투혼 22.11.17.10:47 1161
6315 스티커를 사용하지못하는 슬픔 image 랩퍼투혼 랩퍼투혼 22.11.17.10:41 1092
6314 url 파싱이 잘되는 사이트가 최고!! ㅋ 사클된다!// 야다 - 이미슬픈사랑 1 랩퍼투혼 랩퍼투혼 22.11.17.10:22 1119
6313 국밥가격 ㄷㄷㄷ 8 그라페인 22.11.15.00:05 1199
6312 근(별)황 6 image 국내산라이츄 국내산라이츄 22.11.13.23:44 664
6311 굿노트 할인을 놓쳤네요 3 하이빅스비 하이빅스비 22.11.13.18:44 639