如何在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是一种语言结构-但是,这个想法很清楚:谢谢你的帮助-看起来不用回调就使用数组_过滤器可以满足我的大部分需求