就像是 laravel orm不也是能通过使用查询构造器完成的吗?
就像是 laravel orm不也是能通过使用查询构造器完成的吗?
PHP用数组保存SQL查询的结果集不很正常么?怎么会说不能用数组呢?
PDO fetchAll返回的本来就是一个数组:$db->query('SELECT * FROM posts')->fetchAll(PDO::FETCH_ASSOC);
PHP数组操作很灵活,可以干很多事,甚至是SQL里面的事,比如排序和分组:
<code><?php //奥运奖牌榜,依次按金牌,银牌,铜牌的数目进行降序排序. header('Content-Type: text/plain; charset=utf-8'); $arr = array( '中国' => array( '金牌' => 8, '银牌' => 3, '铜牌' => 6, ), '俄罗斯' => array( '金牌' => 3, '银牌' => 6, '铜牌' => 3, ), '美国' => array( '金牌' => 6, '银牌' => 8, '铜牌' => 8, ), '澳大利亚' => array( '金牌' => 4, '银牌' => 0, '铜牌' => 4, ), '意大利' => array( '金牌' => 3, '银牌' => 4, '铜牌' => 2, ), ); // 实现 ORDER BY foreach($arr as $k => $v) { $sort['金牌'][$k] = $v['金牌']; $sort['银牌'][$k] = $v['银牌']; $sort['铜牌'][$k] = $v['铜牌']; } array_multisort( $sort['金牌'], SORT_DESC, $sort['银牌'], SORT_DESC, $sort['铜牌'], SORT_DESC, $arr); var_export($arr); // 实现 GROUP BY (看看'金牌'字段都有哪些值) $tmp = array(); foreach($arr as $k => $v) { if(in_array($v['金牌'], $tmp) === FALSE) { $tmp[] = $v['金牌']; } } var_export($tmp);</code>