count(): Parameter 에러 질문좀 드립니다

count(): Parameter 에러 질문좀 드립니다

QA

count(): Parameter 에러 질문좀 드립니다

본문

Warning: count(): Parameter must be an array or an object that implements Countable 

 

위 에러가 나오는데요 아마도 php 7.2 버전 사용 중이라서 나오는 에러인거 같은데  아래 부분을 어떻게 고치면 될까요?  오토셋으로 윈도우에서 사용중인데 php 7.0 버전 오토셋으로 새로 설치하려다가 방법이 있는지 궁금해서 질문드립니다. 감사합니다

 

for($i =0; $i < count($i); $i++) {
    $row = $result_list[$i];

 

 

이 질문에 댓글 쓰기 :

답변 2

이것은 $i 값을 사전에 어떻게 해도 100% 오류납니다.

 

 

for($i =0; $i < count($i); $i++) {
    $row = $result_list[$i];

 

왜냐면..

for 문 안에서 $i = 0 으로 만들기때문에

바로 다음문장인 

$i < count($i) 를 하게되면

시작부터

count(0) 을 하는 셈이 되니까요

 

count안에는 배열에 해당되는변수를 넣거나

 

$list = array();

와 같은 선언된 이후 할당받은값으로 말이죠

 

좀더 안정적인 확인을 원하시면

 

$cnt = count($list);

for ($i =0; $i < $cnt; $i++ )

 

로 만드시는게 더 좋습니다.

그럼에도 오류가 발생가능성이 있으니

 

$cnt = 0;

if (is_array($list))

   $cnt = count($list);

for ($i =0; $i < $cnt; $i++ )

 

와 같이하면 오류는 사라집니다.

count 함수는 위의 에러와 같이 배열형식이거나 오브젝트일때만 사용가능한 함수입니다.

php 7 버전 이후로부터는 문법에 엄격해졌기 때문에 해당 함수를 경고 없이 사용하려면 해당 함수인

 

$i = array();

와 같이 초기화 선언이 있어야 합니다

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

회원로그인

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