欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

字典排序的问题?

程序员文章站 2022-04-23 19:50:55
...
$a=array(2,1,4,7,1,4,1,9)

想得到key/value,其中key是值,value是该值出现的次数,如下所示:

$b={2:1,1:3,4:2,7:1,9:1}

$a中元素比较多,如何用最少的循环解决这个问题?

回复内容:

$a=array(2,1,4,7,1,4,1,9)

想得到key/value,其中key是值,value是该值出现的次数,如下所示:

$b={2:1,1:3,4:2,7:1,9:1}

$a中元素比较多,如何用最少的循环解决这个问题?

// 直接用函数
>>> array_count_values($a)
=> [
     2 => 1,
     1 => 3,
     4 => 2,
     7 => 1,
     9 => 1,
   ]

$b = [];
foreach ($a as $i) {
   $b[$i] =  isset($b[$i]) ? $b[$i] + 1 : 0;
}

循环一次

相关标签: php