我有一个数组范围$row['ADDwav'] - $row['ADDwav16']
如何计算isset()而不是NULL的数量?
答案 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));