채택완료

배열에 담은수 카운트하기 질문요~

2017-12-22 (금) 17:50:15 2,236

$arr = array( 1, 2, 3, 4 );

$num = count($arr);

이렇게 하면 4가 나오는걸로 알고 있습니다.

그럼요.. 만약에

$arr = array( 1,  ,  , 4 );

2와 3이 비어있다면.. 카운트도 역시 4가 나오나요?

배열값이 비어잇는건 놔두고 실제 값이 존재하는것만 카운트하는 함수는 있나요?

실제값이 잇는 배열갯수 2개의 값을 얻고 싶어요..ㅠ

감사드립니다.

|

답변 2개

채택된 답변
+20 포인트

$arr = array( 1,  ,  , 4 ); 는 에러가 납니다.

$arr = array( 1,  '',  '', 4 ); 는 가능합니다.

존재하는 값만 카운트하는 경우에는,

array_filter 를 활용하면 됩니다. (php 5.3 이상)

echo count(array_filter($arr));

* 참고글 - https://stackoverflow.com/a/4422911

$arr = array(1,,,4);

$newcnt = 0;

foreach($arr as $val) {

    if ($val ) $newcnt++;

}

echo $newcnt; 

로 해보세요

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