Если у вас есть только очень конкретные случаи, например, если свойство внутри имеет значение, например, бренд равен 2, вы можете перегрузить массив, а затем просто использовать, как считаете нужным:
# $rows is your resultset
$rows = function($filter = NULL, $prop = 'brand') use ($rows)
{
if(!$filter) return $rows;
$subset = array();
foreach($rows as $row)
if ($row->$prop == $filter) $subset[] = $row;
return $subset;
};
Если вы позжепри желании вывести все $rows
:
foreach($rows() as $row) ...
или если вы хотите получить все строки с маркой 2:
foreach($rows(2) as $row) ...
или 1:
foreach($rows(1) as $row) ...
И, наконец, если вы хотите получить подмножество другим свойством:
foreach($rows('Adidas', 'name') as $row) ...
Если ваше приложение расширяется, вам следует взглянуть на SPL и предлагаемые им итераторы .