就像是 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>