假设我有一个模仿数据库表的数组。每个数组元素代表一行,并且在每一行内是另一个包含字段名称和值的数组。
Array ( [0] => Array ( [name] => 'Sony TV' [price] => 600.00 ) [1] => Array ( [name] => 'LG TV' [price] => 350.00 ) [2] => Array ( [name] => 'Samsung TV' [price] => 425.00 ) }
我想要做的是按价格对行(外部数组元素)进行排序。以下是我要实现的示例:
Array ( [0] => Array ( [name] => 'LG TV' [price] => 350.00 ) [1] => Array ( [name] => 'Samsung TV' [price] => 425.00 ) [2] => Array ( [name] => 'Sony TV' [price] => 600.00 ) }
如您所见,我不需要保留外部数组的键。
您需要使用usort,该函数通过用户定义的函数对数组进行排序。就像是:
function cmp($a, $b) { if ($a["price"] == $b["price"]) { return 0; } return ($a["price"] < $b["price"]) ? -1 : 1; } usort($yourArray,"cmp")