如何获取php数组中特定值的变化次数

时间:2016-10-04 06:38:03

标签: php arrays

我希望将数字的时间数更改为数组中的特定值。

 array(358) { [0]=> string(1) "6" [1]=> string(1) "6" [2]=> string(1) "6"  [3]=> string(1) "5" [4]=> string(1) "5" [5]=> string(1) "4" [6]=> string(1) "4" [7]=> string(1) "6" [8]=> string(1) "6" [9]=> string(1) "4" }

我希望得到多少次获得价值" 6"。就像上面的数组一样,我得到了价值" 6" 2次。

3 个答案:

答案 0 :(得分:1)

这里是一个例子 -

$count = 0;
$counter = -1;
$arr = array("3", "6", "6", "3", "6", "4", "4");
foreach($arr as $val){
    if($val == 6)
        $counter = 0;

    if($counter == 0 && $val != 6){
        $count++;
        $counter = -1;
    }
}
echo $count;

答案 1 :(得分:0)

您可以使用array_count_values() - 计算数组的所有值

示例:

<?php
$array = array(1,3,2,3,5,3,8,3);
$vals = array_count_values($array);
echo "<pre>";
print_r($vals);
?>

<强>结果:

Array
(
    [1] => 1
    [3] => 4
    [2] => 1
    [5] => 1
    [8] => 1
)

According to PHP Manual: array_count_values()使用数组值作为键返回数组,将数组中的频率作为值返回。

答案 2 :(得分:0)

$i = 0;
foreach ($array as $item) {
  if ($item == 6) {
    $i++;
  }
}
echo $i;