我有以下数组设置,每个美国主要城市都有其人口规模。
$usapopstats = array(
array('New York',8008278),
array('Los Angeles',3694820),
array('Chicago',2896016),
array('Houston',1953631),
array('Philadelphia',1517550),
array('Phonenix',45),
array('San Diego',1223400),
array('Dallas',1188580),
array('San Antonio',1144646),
array('Detroit',951270)
);
我想按这些信息的种群大小排序。但是当我尝试使用arsort函数时,它会根据关键数据对数组进行排序,而不是按城市排序的值数据。
所以我的问题是你怎么编程这种类型的多维数组的人口规模排序?有任何想法吗?
如果数组被改写这样
$usapopstats = array(
'New York'=>8008278,
'Los Angeles'=>3694820,
'Chicago'=>2896016,
'Houston'=>1953631,
'Philadelphia'=>1517550,
'Phoenix'=>45,
'San Diego'=>1223400,
'Dallas'=>1188580,
'San Antonio'=>1144646,
'Detroit'=>951270
);
asort($usapopstats);
这将通过人口规模排序的数组。
可能重复[在PHP中对多维数组排序](http://stackoverflow.com/questions/2059255/sorting-multidimensional-array-in-php) – jprofitt 2012-02-14 13:03:53
也许只是操纵你的嵌套数组到一个简单的键值数组和'asort()' – 2012-02-14 13:07:29
usort() - http://www.php.net/manual/en/function.usort.php – 2012-02-14 13:09:55