我有一个这样的数组:
$arr [
["name" = "Martin", "type" = "0"],
["name" = "Jack", "type" = "0"],
["name" = "Tiam", "type" = "1"]
];
现在我需要计算type=0
项的数量。目前我使用count($arr)
返回3
。预期结果为2
。
我可以使用循环加上一个if语句来做到这一点。但是,还有什么更好的主意吗?
答案 0 :(得分:2)
试试这个:
$result = array_filter($arr,function($item){
return $item['type'] == 0;
});
echo count($result);
答案 1 :(得分:2)
array_filter应该可以解决这个问题:
$arr = [
["name" => "Martin", "type" => "0"],
["name" => "Jack", "type" => "0"],
["name" => "Tiam", "type" => "1"]
];
$arr = array_filter($arr,function($item){
return $item['type']==0;
});
print_r($arr);
答案 2 :(得分:1)
试试这个
$arr = array(
array(
'name' => 'Martin',
'type' => '0',
),
array(
'name' => 'Martin',
'type' => '0',
),
array(
'name' => 'Martin',
'type' => '25',
)
);
$arr = array_filter($arr,function($item){
return $item['type']==0;
});
echo count($arr);
die;