数组中不是NULL的COUNT个变量数

时间:2011-10-11 07:14:16

标签: php

我有一个数组范围$row['ADDwav'] - $row['ADDwav16']

如何计算isset()而不是NULL的数量?

4 个答案:

答案 0 :(得分:3)

您可以array_filter使用is_null(作为回调):

count(array_filter($row, "is_null"))

如果你想要那些为空的那些,那么你必须从原来的数组长度中减去它count($row) - count(array_filter(...))

答案 1 :(得分:1)

尝试类似的东西

$counter = 0;

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

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

以上代码可以使用。 foreach中的值也都设置好了,其他的不会遍历它们;)

如果您的数组是这样的:

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

并且您希望计算非空或null的值,然后您必须修改下一个表单中的代码:

$counter = 0;

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

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

答案 2 :(得分:0)

使用array_filter和is_null

   foreach($row as $r)

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

答案 3 :(得分:0)

这个将删除false或null的数组......

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

            echo  count(array_filter($entry));