이중 if 문

이중 if 문

QA

이중 if 문

본문


 
    function coloringixwi($valll){
        $colorsett = '';
        $colorl = strlen($valll);
        if ($colorl>10) {
            if (strpos($valll,'car')||strpos($valll,'bycle')) {
                $colorsett = 'bad';
            }
        } else {
            if ($valll!=1000&&$valll!=1) {
                $colorsett = 'good';
            }
        }
        return $colorsett;
    }
 

 

if 문이 이중으로 있는데 좀 보기가 그래서요.
이럴때는 어떻게 해야 하나요?

이게 최선인가요??

코드 리뷰해주실분..

이 질문에 댓글 쓰기 :

답변 5

strpos 함수를 사용할때 찾을 단어가 처음에 올경우에는 반환값이 0 이라서 타입비교까지 해야됩니다.


function coloringixwi($valll){
    $colorsett = '';
    $colorl = strlen($valll);
    // 반환위치가 처음이라면 0을 반환함
    $pos = (strpos($valll,'car') !== false || strpos($valll,'bycle') !== false) ? true : false;

    if ($colorl>10 && $pos ) {
        $colorsett = 'bad';
    } else if ($valll!=1000 && $valll!=1){
        $colorsett = 'good';
    }
    return $colorsett;
}
echo coloringixwi('123456789').PHP_EOL;

echo coloringixwi('123456789car').PHP_EOL;
echo coloringixwi('car123456789').PHP_EOL; // 0
echo coloringixwi('12345car6789').PHP_EOL;
echo coloringixwi('123456789bycle').PHP_EOL;
echo coloringixwi('bycle123456789').PHP_EOL; // 0
echo coloringixwi(2);



...
 

    if ($colorl > 10 && (strpos($valll,'car')||strpos($valll,'bycle'))) {
        $colorsett = 'bad';
    }
    else if ($color1 <= 10 &&  ($valll!=1000&&$valll!=1)) {
        $colorsett = 'good';
    }

...

위에 플래토님이 잘 답변해주셧는데요.

 

if($colorl>10) 이렇게 쓰는것 보다는 

 

if(10<$colorl) 이렇게 쓰는 것이 더 좋습니다.

 

왜냐하면 보통 수학에서 10 < 20 <30 이렇게 대소비교를 하기 때문에

 

if(10<$colorl) 이렇게 쓰는 것이 더 직관적이고

 

사회적 통념에 맞게끔 작성된 것이기 때문에 가독성이 더 좋기 때문입니다.

저같은 경우 if문이 한줄인 경우 { } 는 생략하고 이렇게 씁니다

if ($colorl>10 && (strpos($valll,'car') !==false || strpos($valll,'bycle') !==false) ) $colorsett = 'bad';

else if ($colorl<=10 && $valll !=1000 && $valll !=1) $colorsett = 'good';
 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT