所以我有这样的数组:
[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;
}
}
答案 0 :(得分:5)
如果您使用的是PHP 5.5+,则可以使用
$uniqueCids = array_unique(
array_column(
$myArray,
'cid'
)
);
对于PHP< 5.5,你可以使用
$uniqueCids = array_unique(
array_map(
function($value) {
return $value['cid'];
},
$myArray
)
);
然后就这样做
$uniqueCidCount = count($uniqueCids);