테스트 사이트 - 개발 중인 베타 버전입니다

더 간단한 구문? 채택완료

블랑숑 5년 전 조회 1,614

</p>

<p>    if (strlen($value)==strlen(str_replace(array('교환신청','교환중','교환완료','반품신청','반품중','반품완료'),'',$value))) {</p>

<p>        $od_return_status = '';

        $od_status = $ct_status;

        $od_return_memo1 = '';

        $od_return_memo2 = '';</p>

<p>        $sql2 = " update {$g5['g5_shop_order_table']}

                    set od_return_memo1 = '$od_return_memo1',

                        od_return_memo2 = '$od_return_memo2',

                        od_return_status = '$od_return_status',

                        od_status = '$od_status'

                        where od_id = '$od_id' ";

        sql_query($sql2);</p>

<p>    } else if (strlen($value)==strlen(str_replace(array('교환신청','교환중','교환완료'),'',$value))) {</p>

<p>            $od_return_memo1 = '';</p>

<p>            $sql2 = " update {$g5['g5_shop_order_table']}

                        set od_return_memo1 = '$od_return_memo1'

                            where od_id = '$od_id' ";

            sql_query($sql2);</p>

<p>    } else if (strlen($value)==strlen(str_replace(array('반품신청','반품중','반품완료'),'',$value))) {</p>

<p>            $od_return_memo2 = '';</p>

<p>            $sql2 = " update {$g5['g5_shop_order_table']}

                        set od_return_memo2 = '$od_return_memo2'

                            where od_id = '$od_id' ";

            sql_query($sql2);</p>

<p>    }</p>

<p>

 

여기서 if (strlen($value)==strlen(str_replace(array('반품신청','반품중','반품완료'),'',$value)))

 

이거보다 간단한 구문이 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

부분 코드를 올리실때는 최소한 연관된 시나리오와 불분명한 변수($value)의 역할 및 값의 범위를 알려주셔야할것 같습니다.

아래는 시나리오를 유추해서 예제로 올렸습니다.

 

</p>

<p>// 문자열

$value = '반품신청';

$ct_status = '주문취소';</p>

<p>$arr = array('교환신청','교환중','교환완료','반품신청','반품중','반품완료','환불대기');</p>

<p>foreach ($arr as $key => $value) {

    echo "{$key} => {$value} ".PHP_EOL;</p>

<p>    // '교환신청','교환중','교환완료' 하나일 경우 실행

    if ( in_array($value, array('교환신청','교환중','교환완료')) ) {

        echo 'Case 1: '.$value.PHP_EOL;

    

        // $od_return_memo1 = '';

        // $sql2 = " update {$g5['g5_shop_order_table']}

        //             set od_return_memo1 = '$od_return_memo1'

        //                 where od_id = '$od_id' ";

        // sql_query($sql2);

    

    // '반품신청','반품중','반품완료' 하나일경우 실행

    } elseif ( in_array($value, array('반품신청','반품중','반품완료')) ) {

        echo 'Case 2: '.$value.PHP_EOL;

    

        // $od_return_memo2 = '';

        // $sql2 = " update {$g5['g5_shop_order_table']}

        //             set od_return_memo2 = '$od_return_memo2'

        //                 where od_id = '$od_id' ";

        // sql_query($sql2);

    

    // 교환, 반품이 아니고 $ct_status 값이 있다면

    } elseif(isset($ct_status) && $ct_status != ''){

        echo 'Case 3: '.$ct_status.PHP_EOL;</p>

<p>        // $od_return_status = '';

        // $od_status = $ct_status;

        // $od_return_memo1 = '';

        // $od_return_memo2 = '';

        // $sql2 = " update {$g5['g5_shop_order_table']}

        //             set od_return_memo1 = '$od_return_memo1',

        //                 od_return_memo2 = '$od_return_memo2',

        //                 od_return_status = '$od_return_status',

        //                 od_status = '$od_status'

        //                 where od_id = '$od_id' ";

        // sql_query($sql2);

    }

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

블랑숑
5년 전
너무너무 감사합니다!!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인