代码之家  ›  专栏  ›  技术社区  ›  tree em

对给定元素后的数组元素进行计数

  •  0
  • tree em  · 技术社区  · 14 年前

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

    例如

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

    5 回复  |  直到 14 年前
        1
  •  3
  •   Victor Nicollet    14 年前

    如果要查找给定元素第一次出现后的元素数:

    function occurences_after($array, $element)
    {
      if ( ($pos = array_search($element, $array)) === false) 
        return false;
      else
        return count($array) - $pos - 1;
    }
    
        2
  •  1
  •   HoLyVieR    13 年前
    $counts = array_count_values($value);
    

    PHP manual page

        3
  •  0
  •   Randolpho    14 年前

    如果我正确地阅读了您的问题,那么计算与数组中特定元素匹配的元素数的方法是在数组上循环并逐个检查每个元素是否匹配。这闻起来像是家庭作业,所以我不打算为您编写代码,因为它很琐碎,但它应该能让您朝着正确的方向前进。

    因此重申:

    • 循环数组中的每个元素
    • 如果是的话, 增加找到的项目数
        4
  •  0
  •   tdtje    14 年前

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

    你可以用 count($A)

    print_r(array_count_values($A));
    

    输出为:

    Array
    (
        [a] => 1
        [c] => 1
        [xxd] => 1
        [ok] => 1
        [next1] => 1
        [next2] => 1
    )
    
        5
  •  0
  •   NullUserException Mark Roddy    13 年前
    $number_of_elements = count($A)
    

    manual page on count()