我想从数据库表中选择行,然后使用PHP而不是基于参数的SQL(在此情况下,按项目)对行进行分组。
SQL:
Clothes table id item owner 1 shoes joe 2 pants joe 3 hat joe 4 pants joe 5 hat tom SELECT * from Clothes where owner='joe' 1 shoes joe 2 pants joe 3 hat joe 4 pants joe
这就是我希望使用PHP而不是SQL来查看结果的方式 GROUP BY item
GROUP BY item
的PHP:
1 shoes joe 2 pants joe //count 2 3 hat joe
我确定有一个PHP数组函数,对此我并不陌生,有想法吗?
最简单的方法是利用数组键的唯一性:
$grouped = array(); while ($row = $db->fetchResult()) { // or however you get your data if (isset($grouped[$row['item']])) { $grouped[$row['item']]['count']++; } else { $grouped[$row['item']] = $row + array('count' => 1); } }