计算给定元素后的数组元素

时间:2010-09-15 15:17:04

标签: php arrays

如何在第一次出现给定元素后对数组元素进行计数?

例如

 $a = array('a', 'c','xxd','ok','next1','next2');
 echo occurences_after($a, 'ok'); 

应打印“2”

5 个答案:

答案 0 :(得分:3)

如果您在第一次出现给定元素后查找元素数量:

function occurences_after($array, $element)
{
  if ( ($pos = array_search($element, $array)) === false) 
    return false;
  else
    return count($array) - $pos - 1;
}

答案 1 :(得分:1)

$counts = array_count_values($value);

PHP manual page

答案 2 :(得分:0)

$number_of_elements = count($A)

参考:manual page on count()

答案 3 :(得分:0)

如果我正确地读了你的问题,那么计算与数组中特定元素匹配的元素数量的方法是遍历数组并单独检查每个元素是否匹配。这有点像家庭作业,所以我不会为你编写代码,因为它是微不足道的,但它应该让你朝着正确的方向前进。

重申:

  • 遍历数组中的每个元素
  • 检查每个元素是否存在 符合要求
  • 如果是, 增加找到的项目数

答案 4 :(得分:0)

我不确定你的意思。 如果要计算数组$ A中的元素数量。

您可以使用count($A)

如果要计算值:

print_r(array_count_values($A));

输出结果为:

Array
(
    [a] => 1
    [c] => 1
    [xxd] => 1
    [ok] => 1
    [next1] => 1
    [next2] => 1
)