我有一个来自mysql数据库的数组。所以它是这样构造的(只是前两个条目):
Array
(
[0] => Array
(
[id_cre] => CD000000001
[0] => CD000000001
[id_az] => AZ000000001
[1] => AZ000000001
)
[1] => Array
(
[id_cre] => CD000000002
[0] => CD000000002
[id_az] =>
[1] =>
)
)
我想计算数组中有多少条目[id_az] =>''
。
如果我这样做:
count($creds)
我得到2
(数组中的项目数)。
我更喜欢重复使用此数组(查询已针对另一个报表运行),而不是使用WHERE子句执行新查询以选择WHERE id_az = ''
。
任何提示?
答案 0 :(得分:4)
答案 1 :(得分:0)
为什么不使用一个好的旧foreach循环?
$count = 0;
foreach($data as $row)
{
$count += empty($row['id_az']) ? 0 : 1;
}
或者另外一个带有匿名函数的array_map
$count = 0;
array_map(function($row) use (&$count) { $count += empty($row['id_az']) ? 0 : 1; }, $data);
但这是PHP> 5.3。回调不起作用,因为您无权访问变量来存储您的计数。