计算数组中的项目

时间:2012-03-31 14:17:52

标签: php arrays drupal count

我有阵列

Array ( [0] => Array ( [field_yourrating_rating] => 100 ) [1] => Array ( [field_yourrating_rating] => 80 ) [2] => Array ( [field_yourrating_rating] => 100 ) ) 

我希望能够计算每个值的出现次数 - 例如,100次出现1次,80次出现。

我尝试使用array_count_values但它似乎不适用于多维数组!我还能尝试什么?

2 个答案:

答案 0 :(得分:1)

如果数组的结构只是在你的例子中,那么这将起作用:

  foreach ($array as $value)
  {
    $count[current($value)] += 1;
  }

然后$count将是一个数组,其中键是输入数组的值,值是它们出现的次数。

答案 1 :(得分:0)

使用以下功能......

function array_searchRecursive($needle, $haystack, $strict = false, $path = array())
{
        if (!is_array($haystack))
        {
                return false;
        }
        foreach ($haystack as $key => $val)
        {
                if (is_array($val) && $subPath = array_searchRecursive($needle, $val, $strict, $path))
                {
                        $path = array_merge($path, array($key), $subPath);
                        return $path;
                } elseif ((!$strict && $val == $needle) || ($strict && $val === $needle))
                {
                        $path[] = $key;
                        return $path;
                }
        }
        return false;
}

和一个简单的

echo sizeof(array_searchRecursive(see arguments above));

会给你答案;)

度过愉快的一天!