我有一个像这样的数组
$arr = array(1,2,1,3,2,4);
如何计算该数组中变体数据的总数?
示例:
$arr = array(1,2,1,3,2,4);
总计= 4
答案 0 :(得分:1)
您可以翻转数组,并检查其长度:
echo count(array_flip($arr));
这是有效的,因为数组索引必须是唯一的,因此最终会为原始数组中的每个唯一项目提供一个元素:
http://php.net/manual/en/function.array-flip.php
如果值有多次出现,则最新的密钥将用作其值,而其他所有密钥将丢失。
这是(是?)比array_unique
快一点,但除非你称之为很多,array_unique
更具描述性,所以可能是更好的选择
答案 1 :(得分:1)
如果您尝试计算数组中的唯一值,这非常简单明了:
echo count(array_unique($arr));