Php 计算不同类别id的数量?

Php 计算不同类别id的数量?,php,arrays,Php,Arrays,所以我有如下这样的数组: [0] => Array ( [id] => 10 [rec_id] => 4 [mid] => a:2:{i:0;s:1:"2";i:1;s:1:"5";} [cid] => 5 [lang] => geo [title] => ჯიმი მორისონი გაცოცხ

所以我有如下这样的数组:

[0] => Array
        (
            [id] => 10
            [rec_id] => 4
            [mid] => a:2:{i:0;s:1:"2";i:1;s:1:"5";}
            [cid] => 5
            [lang] => geo
            [title] => ჯიმი მორისონი გაცოცხლდა
            [intro] =>
            [img] => xhdvlmvogeujm76.jpg
        [text] =>

        )

    [1] => Array
        (

            [id] => 7
            [rec_id] => 6
            [mid] => a:2:{i:0;s:1:"2";i:1;s:1:"5";}
            [cid] => 3
            [lang] => geo
            [title] => 70 people died
            [intro] =>
            [img] => as554ghbvwe5.jpg
        [text] =>

        )




)
我想做的是计算我的物品中有多少不同的Cid(类别id)。假设我有5个项目,每个项目都有不同的cid,那么计数器应该返回5,如果这5个项目中有3个具有相同的cid,那么它将返回3,依此类推。我一直在用
foreach()
锻炼,但运气不好。这是我试过的

foreach ($data as $k=>$v)
{
    if ($v['cid']!=$v['cid']){
        $counter=$counter+1;
    }
}

如果您使用的是PHP5.5+,那么可以使用

$uniqueCids = array_unique(
    array_column(
        $myArray,
        'cid'
    )
);
$uniqueCids = array_unique(
    array_map(
        function($value) {
            return $value['cid'];
        },
        $myArray
    )
);
对于PHP<5.5,可以使用

$uniqueCids = array_unique(
    array_column(
        $myArray,
        'cid'
    )
);
$uniqueCids = array_unique(
    array_map(
        function($value) {
            return $value['cid'];
        },
        $myArray
    )
);
那就做吧

$uniqueCidCount = count($uniqueCids);

如果您使用的是PHP5.5+,那么可以使用

$uniqueCids = array_unique(
    array_column(
        $myArray,
        'cid'
    )
);
$uniqueCids = array_unique(
    array_map(
        function($value) {
            return $value['cid'];
        },
        $myArray
    )
);
对于PHP<5.5,可以使用

$uniqueCids = array_unique(
    array_column(
        $myArray,
        'cid'
    )
);
$uniqueCids = array_unique(
    array_map(
        function($value) {
            return $value['cid'];
        },
        $myArray
    )
);
那就做吧

$uniqueCidCount = count($uniqueCids);

检查
$v
cid是否与
$v
cid不同。。。Uhm?您检查
$v
cid是否与
$v
cid不同。。。嗯?然后使用count()进行计数,然后使用count()进行计数