【发布时间】:2016-01-12 13:21:18
【问题描述】:
我有一个 php 数组作为来自数据库的结果集。
由于我对 mySQL 排序不太熟悉,我想根据特定字符串“madhapur”对结果集进行排序
$arr=array(
array("name" => 'madhapur',"population" =>'1000'),
array("name" => 'jubiliee hills',"population" =>'800'),
array("name" => 'madhapur',"population" =>'900'),
array("name" => 'adikmet',"population" =>'200'),
array("name" => 'sr nagar',"population" =>'3000'),
array("name" => 'jubilee hills',"population" =>'1200'),
array("name" => 'madhapur',"population" =>'1000')
);
我期待结果如下
$arr=array(
array("name" => 'madhapur',"population" =>'1000'),
array("name" => 'madhapur',"population" =>'1000'),
array("name" => 'madhapur',"population" =>'900'),
array("name" => 'adikmet',"population" =>'200'),
array("name" => 'jubilee hills',"population" =>'1200'),
array("name" => 'jubiliee hills',"population" =>'800'),
array("name" => 'sr nagar',"population" =>'3000'),
);
我尝试使用 usort,但它们都用于降序或升序。
function sortByName($a,$b){
return $b['name'] - $a['name'];
}
usort($arr,'sortByName');
【问题讨论】:
-
所以唯一的限制是,
name作为madhapur的数组应该在开头,对吧? -
为什么不按 MySQL 排序呢?应该更快
-
要使用 mySQL 进行排序,我需要编写存储过程,除非我不能将名称作为参数传递。
标签: php codeigniter sorting usort