2011-10-11 3 views
0

내가 어떻게이 그는 isset() 및 NULL하지의 수를 셀 수있는 배열 범위 $row['ADDwav'] - $row['ADDwav16']COUNT 번호

있나요? 위의 코드가 작동 할 수

$counter = 0; 

foreach($row as $r) 
{ 
    if($r !== null) 
    { 
     $counter++; 
    } 
} 

echo "Total not null items : " . $counter; 

같은

답변

1

보십시오 뭔가.

$row = array(
    'ADDwav' => null, 
    'ADDwav1' => 'somevalue', 
    'ADDwav2' => 'anothervalue', 
    'ADDwav3' => '', 
    'ADDwav...' => '...', 
    'ADDwav16' => null 
); 

당신은 비어 있거나 null이 아닌 값을 계산하려면 :; foreach 문에 또한 값이 모두 설정되어 otherwhise는 그들을 통해하지 루프합니다

경우 배열은 같은)입니다

$counter = 0; 

foreach($row as $k => $r) 
{ 
    if($r !== null || $r !== '') 
    { 
     $counter++; 
    } 
} 

echo "Total not null items : " . $counter; 
3

당신은 (콜백으로) is_nullarray_filter을 사용할 수에 대한 :

당신은 다음 형식의 코드를 수정해야

당신이 하지 null이 사람을 원하는 경우에, 당신은 원래 여전히 배열의 길이 count($row) - count(array_filter(...))

0

사용 array_filter에서 그것을 빼고 제거

foreach($row as $r) 

     if($r !== null) 
... 
.. 
. 
0

이 하나를 is_null해야 할 것 false 또는 null 인 배열 ...

  $entry = array(
       0 => 'foo', 
       1 => false, 
       2 => -1, 
       3 => null, 
       4 => '' 
      ); 

      echo count(array_filter($entry)); 
+0

'array_filter' 콜백은'false'와 같은 모든 것을 제거합니다. "not null"과 같습니다. – Gordon

+0

예, 이건 잘못되었습니다 .. – balaphp