【问题标题】:Output most repeated value in PHP在 PHP 中输​​出重复次数最多的值
【发布时间】:2014-04-09 21:07:56
【问题描述】:

所以我有一个数组,有点像:

$concat=array("DARK HORSE,KATY PERRY", "DARK HORSE,KATY PERRY", "WHEN IT RAINS,PARAMORE", "LITHIUM,NIRVANA")
//$concat = song and artist together separated by a comma

我需要输出出现次数最多的值,所以在上面的数组中我需要输出字符串 = "DARK HORSE,KATY PERRY"

谢谢你:)

【问题讨论】:

标签: php arrays string recurring-events


【解决方案1】:
echo key(array_count_values($concat));

【讨论】:

    【解决方案2】:

    您可以使用array_count_values和array_keys来输出结果:

    $concat=array("DARK HORSE,KATY PERRY", "DARK HORSE,KATY PERRY", "WHEN IT RAINS,PARAMORE", "LITHIUM,NIRVANA");
    //counts frequencies
    $count_array = array_count_values($concat);
    
    //gets the keys instead of the values
    $count_keys = array_keys($count_array);
    
    //echoes only the first key
    echo current($count_keys);
    
    //Or print all values and keys
    print_r($count_array);
    

    【讨论】:

      【解决方案3】:

      您可以使用array_count_values 来获取一个以实例为键、频率为值的数组。然后你需要将数组从高到低排序,保持索引(arsort)这很重要。

      所以:

      //your array
      $concat=array("DARK HORSE,KATY PERRY", "DARK HORSE,KATY PERRY", "WHEN IT RAINS,PARAMORE", "LITHIUM,NIRVANA")
      
      //get all the frequencies
      $frequencies = array_count_values($concat);
      
      //make sure to sort it since array_count_values doesn't return a sorted array
      arsort($frequencies);
      
      //reset the array because you can't trust keys to get the first element by itself
      reset($frequencies);
      
      //get the first key
      echo key($frequencies);
      

      【讨论】:

        猜你喜欢
        • 2016-02-08
        • 1970-01-01
        • 1970-01-01
        • 2021-12-06
        • 2021-10-28
        • 1970-01-01
        • 2012-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多