배열에 담은수 카운트하기 질문요~
본문
$arr = array( 1, 2, 3, 4 );
$num = count($arr);
이렇게 하면 4가 나오는걸로 알고 있습니다.
그럼요.. 만약에
$arr = array( 1, , , 4 );
2와 3이 비어있다면.. 카운트도 역시 4가 나오나요?
배열값이 비어잇는건 놔두고 실제 값이 존재하는것만 카운트하는 함수는 있나요?
실제값이 잇는 배열갯수 2개의 값을 얻고 싶어요..ㅠ
감사드립니다.
답변 2
$arr = array( 1, , , 4 ); 는 에러가 납니다.
$arr = array( 1, '', '', 4 ); 는 가능합니다.
존재하는 값만 카운트하는 경우에는,
array_filter 를 활용하면 됩니다. (php 5.3 이상)
echo count(array_filter($arr));
$arr = array(1,,,4);
$newcnt = 0;
foreach($arr as $val) {
if ($val ) $newcnt++;
}
echo $newcnt;
로 해보세요
답변을 작성하시기 전에 로그인 해주세요.