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 .= "
$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])) {
....
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인