php数组计数

时间:2010-05-03 22:04:18

标签: php cakephp

我的sql查询的var转储返回以下

我想在下面的数组中计算出有多少行myID = 5。我该怎么做我正在使用PHP。提前致谢

 array
  0 => 
    object(stdClass)[17]

      public 'myID' => string '5' (length=1)
      public 'data' => string '123' (length=3)
  1 => 
    object(stdClass)[18]

      public 'myID' => string '5' (length=1)
      public 'data' => string '123' (length=3)
  2 => 
    object(stdClass)[19]

      public 'relativeTypeID' => string '2' (length=1)
      public 'data' => string '256' (length=3)
  3 => 
    object(stdClass)[20]

      public 'myID' => string '4' (length=1)
      public 'data' => string '786' (length=3)

    object(stdClass)[21]

      public 'myID' => string '4' (length=1)
      public 'data' => string '786' (length=3)

2 个答案:

答案 0 :(得分:2)

对于相同的data,您是否始终具有相同的myID值?换句话说,data在功能上依赖于myID

如果是这样,您可以让数据库为您执行此操作:

SELECT myID, data, COUNT(*) AS cnt
FROM (your query here)
GROUP BY myID, data

这会给你以下结果:

myID  data   cnt
'5'   '123'  3
'2'   '256'  1
'4'   '786'  2

答案 1 :(得分:-1)

或者,您可以使用foreach语句,例如:

$count = 0;

foreach($arr as $item)
{
    // Given that your item is an stdClass Object you access its property with "->"
    // if an array $item["myID"] instead
    if ( $item->myID == '4' )
    {
        $count ++;
    }
}