如果customer_id存在超过1,我该如何计算。
因为我只想知道数字是否存在超过1次。
$customerOrder = $this->Order->find('all', array(
'conditions' => array(
'Order.customer_id >' => '0',
'Order.status' => 'Delivered'
)
));
$b = array_unique($customerOrder);
Echo Count(array_unique(array_diff_key($customerOrder, $b)));
答案 0 :(得分:0)
您可以使用array_count_values
function greaterNum($var)
{
return($var>=2);
}
$array = array(1,2,3,3,3,4,1);
$counts = array_count_values($array);
print_r(array_filter($counts,"greaterNum"));
它会返回
Array
(
[1] => 2
[3] => 3
)
键表示原始数组的值,value表示原始数组中出现的次数。
print(count(array_filter(array_count_values($array),"greaterNum")));
它会打印2
答案 1 :(得分:0)
尝试使用array_count_values这样的方式来查找出现的值多少次? ,查看 $ result 的结果,以便清楚了解,然后使用foreach循环或array_filter或任何其他方式仅获取出现次数大于 2的值强>次。
<?php
$values = array(1,2,3,3,3,4,1,8,0,0,9,8);
$result = array_count_values($values);
//debugging
print '<pre>';
print_r($result);
print '</pre>';
$count = 0;
foreach($result as $count_value){
if($count_value >= 2){
$count++;
}
}
echo $count;
?>
答案 2 :(得分:0)
这种方法怎么样?数组唯一,数组差异键和计数。
$a = array(1,2,3,3,3,4,1,1,3,2);
$b = array_unique($a);
Echo Count(array_unique(array_diff_key($a, $b)));