$array = array(array('car1', 'car2'),
array('car1', 'car2', 'car3'),
array('car1', 'car2', 'car3'));
我想要的结果: [CAR1] [CAR2] = 3 [CAR1] [CAR2] [的Car3] = 2如何计算超过1倍的值
$array = array(array('car1', 'car2'),
array('car1', 'car2', 'car3'),
array('car1', 'car2', 'car3'));
我想要的结果: [CAR1] [CAR2] = 3 [CAR1] [CAR2] [的Car3] = 2如何计算超过1倍的值
迭代阵列,然后迭代数组再次将索引推入数组中,但在先前存在的情况下增加值。
$count_values = array();
foreach ($array as $a) {
foreach ($a as $b) {
$count_values[$b]++;
}
}
而且documentation for array_count_values里面出现这样的回答,这是在评论上述。首先检查文件。
以下代码在php文档中;
<?php
$ar1[] = array("red","green","yellow","blue");
$ar1[] = array("green","yellow","brown","red","white","yellow");
$ar1[] = array("red","green","brown","blue","black","yellow");
#$ar1= array("red","green","brown","blue","black","red","green"); // Possible with one or multiple Array
$res = array_icount_values ($ar1);
print_r($res);
function array_icount_values($arr,$lower=true) {
$arr2=array();
if(!is_array($arr['0'])){$arr=array($arr);}
foreach($arr as $k=> $v){
foreach($v as $v2){
if($lower==true) {$v2=strtolower($v2);}
if(!isset($arr2[$v2])){
$arr2[$v2]=1;
}else{
$arr2[$v2]++;
}
}
}
return $arr2;
}
/*
Will print:
Array
(
[red] => 3
[green] => 3
[yellow] => 4
[blue] => 2
[brown] => 2
[white] => 1
[black] => 1
)
*/
?>
链接:http://cn2.php.net/manual/zh/function.array-count-values.php#95713
你忘了,包括到目前为止您的代码和输出/你得到的错误。 –
看看[docs](http://us1.php.net/manual/en/function.array-count-values.php#refsect1-function.array-count-values-examples), 虽然你将不得不修改它以使用多维数组 –