PHP阵列模式功能
以下模式函数将从值数组(也称为模式)中返回最常出现的值。如果仅使用数组,则仅返回最常出现的值。第二个参数可用于返回包含模式和该值在数组中出现的次数的数组。
function array_mode($array,$justMode=0)
{
$count = array();
foreach ( $array as $item) {
if ( isset($count[$item]) ) {
$count[$item]++;
}else{
$count[$item] = 1;
};
};
$mostcommon = '';
$iter = 0;
foreach ( $count as $k => $v ) {
if ( $v > $iter ) {
$mostcommon = $k;
$iter = $v;
};
};
if ( $justMode==0 ) {
return $mostcommon;
} else {
return array("mode" => $mostcommon, "count" => $iter);
}
}以下列方式使用。
$array = array(1,1,0,1); print_r(array_mode($array, 0)); //版画1 print_r(array_mode($array, 1)); // prints Array ( [mode] => 1 [count] => 3 )
如果您只想列出数组中最常见的值,则可以使用PHP函数array_count_values()。这将返回一个数组,其中包含该数组中的所有值以及每个值出现的次数。这是一个用法示例。
$array = array(1, 1, 0, 1); print_r(array_count_values($array)); // prints Array ( [1] => 3 [0] => 1 )