计数阵列中的特定变量

问题描述:

我有以下Array。在这里,我想要计算具有值1的变量fraction。基于no.of.occurances,我想要执行一些操作。我知道的一种方法是,使用foreach来循环阵列,并设置一个增量值来确定有多少个fraction的值为1.但是我想知道是否有比上述更简单的方法?计数阵列中的特定变量

有人可以提示我吗?

Array 
(
    [0] => Array 
     (
      [answer] => <p> 
    Quiz Test Interoperability</p> 

      [feedback] => 
      [fraction] => 0 
     ) 

    [1] => Array 
     (
      [answer] => <p> 
    Quiz Test Interrelationship</p> 

      [feedback] => <br /> 

      [fraction] => 0 
     ) 

    [2] => Array 
     (
      [answer] => <p> 
    Quiz Team Interoperability</p> 

      [feedback] => <br /> 

      [fraction] => 0 
     ) 

    [3] => Array 
     (
      [answer] => <p> 
    Queation Test Interoperability</p> 

      [feedback] => <br /> 

      [fraction] => 1 
     ) 

) 

您可以使用array_reduce()

<?php 
function countFractionIs1 ($element) { 
    return ($element['fraction'] == 1) ? 1 : 0; 
} 

$count = array_reduce($yourarray, "countFractionIs1", 0); 
+0

其工作凉爽。谢谢 – 2013-02-25 11:53:48