如何在PHP上计算数组/对象中的元素?

如何在PHP上计算数组/对象中的元素?,php,arrays,count,Php,Arrays,Count,我已将此数组发送到我的视图 Array ( [0] => stdClass Object ( [emg_id] => 2 [fkit] => 1 [door] => ) ) 我想计算有多少元素是空的、空的或“0” 我尝试使用count,但它总是返回“1”,而不是对所有元素进行计数,因此我可以稍后确定满足上述条件的元素 你知道我做错了什么吗?在它们之间循环并

我已将此数组发送到我的视图

Array
(
    [0] => stdClass Object
        (
            [emg_id] => 2
            [fkit] => 1
            [door] => 
        )

)
我想计算有多少元素是空的、空的或“0”

我尝试使用count,但它总是返回“1”,而不是对所有元素进行计数,因此我可以稍后确定满足上述条件的元素


你知道我做错了什么吗?

在它们之间循环并计数

function loopMe($array, $value) {
    $num = 0;
    foreach($array as $key=>$val) {
        if($val == $value)
        $num++;
    }
    return $num;
}


$ar = array (
    array (
        "emg_id" => 2
        "fkit" => 1
        "door" => null));
$num = loopMe($ar[0], null);

在它们之间循环并计数

function loopMe($array, $value) {
    $num = 0;
    foreach($array as $key=>$val) {
        if($val == $value)
        $num++;
    }
    return $num;
}


$ar = array (
    array (
        "emg_id" => 2
        "fkit" => 1
        "door" => null));
$num = loopMe($ar[0], null);
还有一些其他内置的is_*-函数,可以帮助您计算字符串的数量等

为了测试,如果一个元素是0,我建议使用匿名函数

echo count(array_filter((array) $array[0], function ($item) {
  return $item === 0;
}));
其他情况也类似

还有一些其他内置的is_*-函数,可以帮助您计算字符串的数量等

为了测试,如果一个元素是0,我建议使用匿名函数

echo count(array_filter((array) $array[0], function ($item) {
  return $item === 0;
}));

其他情况类似。

thx@kingcrunch-第一个示例中的'is_null'如何:我收到一条错误消息,说第二个参数应该很长,字符串给定-您的'is_null'只是一个占位符吗?:-好的xkcd BTW-看起来'empty'也会返回一个错误-第二个参数'empty',应该是一个有效的回调。。。empty是一种语言结构-但是,这个想法很清楚:谢谢你的帮助-看起来在没有回调的情况下使用array_filter可以满足我的大部分需求thx@kingcrunch-第一个例子中的'is_null'如何:我收到一条错误消息,说第二个参数应该很长,给定字符串-您的'is_null'是否只是占位符?:-好的xkcd BTW-看起来'empty'也会返回错误-第二个参数'empty'应该是有效的回调。。。empty是一种语言结构-但是,这个想法很清楚:谢谢你的帮助-看起来不用回调就使用数组_过滤器可以满足我的大部分需求