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

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

QA

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

답변 2

본문

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();

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 217
© SIRSOFT
현재 페이지 제일 처음으로