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

값이 있는 배열의 개수를 구하고싶습니다. 채택완료

훈훈훈훈훈 8년 전 조회 3,688

</p><p>$sql = "select * from g5_write_test";</p><p>$result = sql_query($sql);</p><p>for ($j=0; $row=sql_fetch_array($result); $j++) {</p><p><span style="white-space:pre">	</span>// 콤마 구분으로 들어가있는 wr_id를 배열로 가져옴</p><p><span style="white-space:pre">	</span>$as_show = explode(',' , $row['wr_content']);</p><p><span style="white-space:pre">	</span>if (in_array($test_wr_id, $as_show))<span style="white-space:pre">	</span>continue;</p><p>
</p><p><span style="white-space:pre">	</span>$list[$z]['sub'][$k]['sub'][$j]['gr_id'] = $row['gr_id'];</p><p><span style="white-space:pre">	</span>$list[$z]['sub'][$k]['sub'][$j]['hid'] = $row['html_id'];</p><p>}</p><p>

일단 쿼리를 실행해서

가져온 row개수만큼 돌면서

배열0,1,2,3,4,5,6,7 순으로 쭉쭉 배열에 값을 넣고있습니다.

그런데 wr_content(게시글 내용)에는 11,21,30,9,2,82 와 같은 양식으로

번호가 콤마 구분으로 들어있습니다.

그래서 for문을 돌릴때에 wr_content를 배열로 가져와서 특정 wr_id가 배열에 있으면

countinue; 시키는데

그렇게하니 예를들어 두번째 루프가 실행될때는 continue 되어버리니

배열1번 방에는 값이 아무것도 없는채로 배열이 생성이됩니다.

뭐 배열이 생성되는것은 상관이없는데

나중에 이제 저 배열을 가져올때에 문제가생깁니다..

echo count($menu[$i]['sub'][$j]['sub']);

이렇게 배열의 카운트를 가져오면

빈 배열의 카운트까지 가져와져서

값이 들어있는 배열의 개수만 가져오고싶은데 방법이있나요?

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

답변 1개

채택된 답변
+20 포인트
8년 전

echo count(array_filter($menu[$i]['sub'][$j]['sub'])); 

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

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

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

로그인