在php和mysql中对数据排序需要多少?
我想对从mysql数据库返回的数组进行分组。我已将数组命名为在php和mysql中对数据排序需要多少?,php,mysql,arrays,foreach,group-by,Php,Mysql,Arrays,Foreach,Group By,我想对从mysql数据库返回的数组进行分组。我已将数组命名为$item\u info,并希望按文件夹\u id对其进行分组 首先,两个相关问题: 执行单个查询以获取下面的数据,并创建新的数组键总是(或很可能)比两个单独的查询(一个涉及所需的GROUP BY,另一个不涉及)快 从我阅读的内容来看,似乎最好保持MySQL查询的简单性,并使用PHP对数据进行排序。对这一普遍哲学有何评论 以下是我的数据库提供的信息: $item_info=array( array("id"=>"1", 'fol
$item\u info
,并希望按文件夹\u id
对其进行分组
首先,两个相关问题:
GROUP BY
,另一个不涉及)快李>
$item_info=array(
array("id"=>"1", 'folder_id'="1", "img"=>"/images/button_01.gif"),
array("id"=>"2", 'folder_id'="1", "img"=>"/images/button_02.gif"),
array("id"=>"3", 'folder_id'="2", "img"=>"/images/button_03.gif"),
array("id"=>"4", 'folder_id'="2", "img"=>"/images/button_04.gif"),
array("id"=>"5", 'folder_id'="3", "img"=>"/images/button_05.gif"),
array("id"=>"6", 'folder_id'="3", "img"=>"/images/button_06.gif")
);
下面是我要如何排列:
$item_info=array(
array(
array("id"=>"1", 'folder_id'="1", "img"=>"/images/button_01.gif"),
array("id"=>"2", 'folder_id'="1", "img"=>"/images/button_02.gif")
),
array(
array("id"=>"3", 'folder_id'="2", "img"=>"/images/button_03.gif"),
array("id"=>"4", 'folder_id'="2", "img"=>"/images/button_04.gif")
),
array(
array("id"=>"5", 'folder_id'="3", "img"=>"/images/button_05.gif"),
array("id"=>"6", 'folder_id'="3", "img"=>"/images/button_06.gif")
));
因为您已经在RAM中拥有了数据,所以在PHP中进行分组似乎更合理,因为它不需要太多的处理 你可能想试试
$item_info_tmp=array();
foreach ($item_info as $ii) {
if (!isset($item_info_tmp[$ii['folder_id']]))
$item_info_tmp[$ii['folder_id']]=array();
$item_info_tmp[$ii['folder_id']][]=$ii;
}
$item_info=array_values($item_info_tmp);