Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用for循环获取arrayfrequency_Php_Loops - Fatal编程技术网

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 )