количество массивов php - PullRequest
1 голос
/ 04 мая 2010

У меня есть дамп var моего sql-запроса, который возвращает следующее

Я хочу посчитать в массиве ниже, сколько строк 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 ]

2 голосов
/ 04 мая 2010

У вас всегда одинаковое значение 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
0 голосов
/ 04 мая 2010

Или вы можете использовать оператор 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 ++;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...