我有一个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'都要在一开始吧? –
是基于名称 – saikiran
为什么不用MySQL对它进行排序?应该更快 –