计算2D数组中的数组,其中某些字段为非空

时间:2015-12-03 14:37:24

标签: php arrays multidimensional-array count array-filter

我有一个数组数组:

$array = array (
"text1" => array("link" => "link1.php", "value" => $value1),
"text2" => array("link" => "link2.php", "value" => $value2),
.......
"text9" => array("link" => "link9.php", "value" => $value9)
);

我想计算"value"字段不为空的数组的数量。

我试过了:

count(array_filter($array));

但显然它会返回9,即使某些$valueN变量为空。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用array_column从多维数组中提取值。因此,要获得一个只包含可以使用的值字段的数组:

$values = array_column($array, "value");

如果您想获得真值的计数,那么您可以使用:

count(array_filter(array_column($array, "value");