PHP使用for循环获取arrayfrequency
我在我的代码中有这个来获得一个数组的频率PHP使用for循环获取arrayfrequency,php,loops,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>";} 现在有没有一种方法可以解决这个问题,只使用for循环-即不使用array\u count\u values()函数?谢谢。你可
$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>";}
现在有没有一种方法可以解决这个问题,只使用for
循环-即不使用array\u count\u values()
函数?谢谢。你可以试试这个-
$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>";
}
按下面的方法做-
<?php
$arr = array(10, 9, 23, 7, 40, 43, 7, 5, 10, 7);
$frq= array();
foreach($arr as $value)
{
$frq[$value]=isset($frq[$value])?$frq[$value]+1:1;
}
print_r($frq);
?>
很不清楚。你想在这里实现什么。Hi@Uchiha,因为你可以看到我的代码中用于计算发生次数的示例输出,我想知道的是,我怎样才能在不使用array\u count\u values函数的情况下做到这一点呢?只用于循环..谢谢@b0s3..但我只需要一个for循环..没有其他函数像array\u key\u那样存在。只用于循环..谢谢..然后你必须使用更多的循环。顺便问一下,为什么不使用这些函数呢?因为在C或javascript中没有像array_key_这样的函数。那又怎样?你为什么要比较它们?@b0s3你只要更新你的答案,我就删除我的答案
foreach($arr as $a) {
$frq[$a] = (!empty($frq[$a])) ? ($frq[$a] + 1) : 1;
}
<?php
$arr = array(10, 9, 23, 7, 40, 43, 7, 5, 10, 7);
$frq= array();
foreach($arr as $value)
{
$frq[$value]=isset($frq[$value])?$frq[$value]+1:1;
}
print_r($frq);
?>
Array ( [10] => 2 [9] => 1 [23] => 1 [7] => 3 [40] => 1 [43] => 1 [5] => 1 )