Asim Zaidi
Asim Zaidi

Reputation: 28344

php array count

I have a var dump of my sql query which return the following

I wanna to count in the array below that how many rows of myID = 5 are there. How would I do that. I am using php. Thanks in advance

 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)

Upvotes: 1

Views: 206

Answers (2)

Mark Byers
Mark Byers

Reputation: 838896

Do you always have the same value of data for the same myID? In other words, is data functionally dependant on myID?

If so, you can get the database to do this for you:

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

This would give you results like the following:

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

Upvotes: 2

falomir
falomir

Reputation: 1169

Or, you can use a foreach statement, like:

$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 ++;
    }
}

Upvotes: -1

Related Questions