基于元素数组的php计数条件

基于元素数组的php计数条件,php,arrays,Php,Arrays,我有一个这样的数组。(例如变量名为$arr) 我的目标是基于元素数组计算条件 所有数组的元素总数可以如下所示:count($arr)。这是5 但是,如何计算基于“C”元素但不重复。 若你们能看到,C元素是 'TEMU3076746, FCIU5412720' 因此,基于C的元素总数为2 请告知联合收割机 或者按照sahil gulati的建议使用array_列,array_map可以做更多这里可能不需要的事情。希望这个最简单的会有所帮助。这里我们使用的是,和 结果:2我有一个非常相似的需求,

我有一个这样的数组。(例如变量名为$arr)

我的目标是基于元素数组计算条件

所有数组的元素总数可以如下所示:count($arr)。这是5

但是,如何计算基于“C”元素但不重复。 若你们能看到,C元素是

'TEMU3076746, FCIU5412720'
因此,基于
C
的元素总数为2

请告知联合收割机


或者按照sahil gulati的建议使用array_列,array_map可以做更多这里可能不需要的事情。

希望这个最简单的会有所帮助。这里我们使用的是,和


结果:
2
我有一个非常相似的需求,我使用了一个稍微不同的方法

我有几个团队参与的活动,我需要知道每个活动中有多少团队。换句话说,我不需要只知道有多少不同的项“C”,而是知道有多少项
TEMU3076746
FCIU5412720

代码将保持原样

$nbCs = array_count_values ( array_column ( $array, 'C' ) );
$nbCs
将发布一个
值数组=数组([TEMU3076746]=>3[FCIU5412720]=>2)


参见sandbox中的示例

刚才说的,也可以使用
array\u flip
代替
array\u unique
+1这是数组翻转的一些黑暗邪恶用法。。。只要值是字符串或整数,它就可以工作。
$array = [ /* your array */ ];
$count = count(
    array_unique(
        array_map(function($element) { 
            return $element['C']; 
        }, $array))))
echo count(
        array_unique(
                array_column($data,"C")));
$nbCs = array_count_values ( array_column ( $array, 'C' ) );