PHP使用for循环获取arrayfrequency

-1 php loops

我在我的代码中有这个来获取数组的频率.

$arr = array(10, 9, 23, 7, 40, 43, 7, 5, 10, 7);
$frq = array_count_values($arr);
foreach($frq as $key => $values){ print $key . " = " . $values . "<br>";}
Run Code Online (Sandbox Code Playgroud)

输出:

5 = 1
7 = 3
9 = 1
10 = 2
23 = 1
40 = 1
43 = 1
Run Code Online (Sandbox Code Playgroud)

现在有没有办法for只使用循环来解决这个问题- 即不使用array_count_values()函数?谢谢.

Sou*_*ose 5

你可以尝试这个 -

$arr = array(10, 9, 23, 7, 40, 43, 7, 5, 10, 7);
$frq= array();
foreach($arr as $a) {
   if(array_key_exists($a, $frq)) {
       $frq[$a] += 1; 
   }
   else
   {
       $frq[$a] = 1;
   }
}
foreach($frq as $key => $values){ 
    print $key . " = " . $values . "<br>";
}
Run Code Online (Sandbox Code Playgroud)

没有任何功能 -

foreach($arr as $a) {
   $frq[$a] = (!empty($frq[$a])) ? ($frq[$a] + 1) : 1;
}
Run Code Online (Sandbox Code Playgroud)

  • 所以呢?你为什么比较它们? (2认同)