PHP计数数值数组中出现的次数

PHP计数数值数组中出现的次数,php,arrays,Php,Arrays,我有一个PHP数组,我使用Zend_Debug将其转储到下面: $ids = array(13) { [0] => string(1) "7" [1] => string(1) "8" [2] => string(1) "2" [3] => string(1) "7" [4] => string(1) "8" [5] => string(1) "4" [6] => string(1) "7" [7] => s

我有一个PHP数组,我使用Zend_Debug将其转储到下面:

    $ids = array(13) {
  [0] => string(1) "7"
  [1] => string(1) "8"
  [2] => string(1) "2"
  [3] => string(1) "7"
  [4] => string(1) "8"
  [5] => string(1) "4"
  [6] => string(1) "7"
  [7] => string(1) "3"
  [8] => string(1) "7"
  [9] => string(1) "8"
  [10] => string(1) "3"
  [11] => string(1) "7"
  [12] => string(1) "4"
}
我试图得到每个数字在数组中出现的次数,并将其输出到一个数组中

我尝试过使用
array\u count\u values($ids)
,但它以发生次数最多的顺序输出,但我无法获得数字发生的总次数。它给出了以下输出:

    array(5) {
  [7] => int(5)
  [8] => int(3)
  [2] => int(1)
  [4] => int(2)
  [3] => int(2)
}
我可以从上面的数组中看到7出现了5次,但我可以在循环数组时访问它

有什么想法吗

干杯


J.

您可以通过以下方式访问所需的数据:

$ids = array( ...);

$array = array_count_values( $ids);
foreach( $array as $number => $times_number_occurred) {
    echo $number . ' occurred ' . $times_number_occurred . ' times!';
}
输出:

7 occurred 5 times!
8 occurred 3 times!
2 occurred 1 times!
4 occurred 2 times!
3 occurred 2 times!

使用
foreach
构造在生成的数组中循环:

$res = array_count_values($ids);

foreach( $res as $value => $count ) {
  // your code here
  echo "The value ".$value." appeared ".$count." times in the array";
}

问题是您不能使用array\u count\u values()返回的数组吗?您的问题毫无意义。你得到了你想要得到的结果(一个显示每个值出现次数的数组),那么怎么了?你可以从数组中看到数字7出现了5次,但你无法读取数组来看到7出现了5次?你是这么说的吗?我想你需要澄清你的问题!请参阅“可能澄清您的问题和/或使用循环?”?