count(): Parameter 질문좀...

count(): Parameter 질문좀...

QA

count(): Parameter 질문좀...

본문

이쪽 언어는 완전 문외한이라 라인 에러뜨는곳을 봐도 어딜 손봐야할지 전혀 모르겠어서요. 

php 7.2 오류라는데 수정법좀 도움받을 수 있을까요?

에러 표시줄만 써보면 이렇습니다.

노란색 부분이 에러 라인이던데 뭐가 잘못된거죠?

 

$temp_h = $holiday[$var]; 

 

 

$boo = '';
    for($k = 0; $k < count($booking[$var]); $k++) {

        list($na,$wr,$ti,) = explode("|",$booking[$var][$k]); 

        if($member['mb_level'] >= '5') {
            $popup_url = $board_skin_url."/booking_popup.php?bo_table=".$bo_table."&office_no=".$off['id_no']."&wr_id=".$wr;
            $link2 = "javascript:booking_view(\"{$popup_url}\")";
        } else {
            $link2 = G5_BBS_URL."/board.php?bo_table=".$bo_table."&office_no=".$off['id_no']."&wr_id=".$wr."&".$qstr;
        }

        $boo .= "<li class='member_list'><a href='".$link2."'><i class='fa fa-volume-up' aria-hidden='true'></i> ".$ti." ".$na."</a></li>";
    }

    $arr[] = $rst; // 임시휴무 및 예약시간제외설정값
    $arr[] = $boo; // 예약자 리스트

 

 

 

이 질문에 댓글 쓰기 :

답변 2

오류내용을 안올려주셔서 짐작해봅니다.

 

숫자 연산시 값이 없다면

php 7 이전에서는 0 으로 반환되어 문제가 없지만

php 7 이상에서는 nan,INF, Infinite 등으로 반환될 수 있습니다.

이에 따라 기존 php 버전에서는 통과되던 부분이 문제가 발생하므로

is_nan, is_infinite 함수르 체크하여 대응하셔야 합니다.

 

문제는 $temp_h = $holiday[$var];  해당변수의 배열이 없기때문에

count로 수를 반환받지 못하였고, 0을 반환받아서 for 문이 돌지 않았던 기존과는달리

is_nan, is_infinite 등으로 반환되어 문제가 발생되었다고 생각됩니다.

 

 

for문을 이걸로 감싸주시면 배열이 비었을경우 통과안될겁니다.

if(!empty($holiday[$var])) {

 

....

 

}

select COUNT(distinct 필드명) AS 변수명 from 테이블명;

인줄 알았는데 질문이 이게 아니군요..ㅎㅎ

 

$temp_h = $holiday[$var]; 

 

if(count($booking[$var]) > 0){

  $cnt = count($booking[$var]);

}else{

  $cnt = "0";

}

 

$boo = '';
    for($k = 0; $k < $cnt; $k++) {

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

회원로그인

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