繁体   English   中英

从PHP数组计算最常见的值

[英]Calculate the most common value from a php array

我试图获得最常见的小时数组。 foreach循环是拆分值并仅用小时获得一个数组

 foreach ($times as $k => $v) {
    $avtime[$k] = explode("T", $v);
    $avtimeb[$k] = $avtime[$k][1];
    foreach ($avtimeb as $kb => $vb) {
        $avtimec[$kb] = explode(":", $vb);
        $avtimed[$kb] = $avtimec[$kb][0];
    }
}

print_r($avtimed); 生成以下内容:

Array
(
    [0] => 08
    [1] => 08
    [2] => 08
    [3] => 08
    [4] => 09
    [5] => 09
    [6] => 08
    [7] => 08
    [8] => 08
    [9] => 10
    [10] => 09
    [11] => 09
    [12] => 10
    [13] => 11
    [14] => 07
    [15] => 08
    [16] => 13
    [17] => 07
    [18] => 08
    [19] => 08
    [20] => 08
    [21] => 09
    [22] => 09
    [23] => 09
    [24] => 09
)

现在,我需要从上面获得最普遍的价值。

使用外部阵列,您可以存储类似的小时数。 然后浏览数组以获取公共时间。

技术

$out = array(); 
foreach($array as $key => $value){
    $part = explode("T", $value);
    $hour = explode(":", $part[1]);
    $out[$hour[0]] = $hour[0];
}

print_r($out);

最后一个是:

foreach ($times as $k => $v) {
    $avtime[$k] = explode("T", $v);
    $avtimeb[$k] = $avtime[$k][1];
    foreach ($avtimeb as $kb => $vb) {
        $avtimec[$kb] = explode(":", $vb);
        $avtimed[$kb] = $avtimec[$kb][0];
    }
}
$count = array_count_values($avtimed);
arsort($count); 
$keys = array_keys($count);
echo "The most occuring value is $keys[0] and the second one is $keys[1]";

谢谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM