我用它对多维数组进行排序
usort($items, function($a, $b) {
return $a['item'] - $b['item'];
});
分拣前
Array
(
[0] => Array
(
[uuid] => 3199d45c-a5c2-474c-8768-06e18fdf6ace
[status] => active
[item] => Spar
)
[1] => Array
(
[uuid] => 4001
[status] => active
[item] => Starbucks
)
[2] => Array
(
[uuid] => 4002
[status] => active
[item] => Burger King
)
[3] => Array
(
[uuid] => 4003
[status] => active
[item] => Steers
)
[4] => Array
(
[uuid] => 4004
[status] => active
[item] => Hungry Lion
)
[5] => Array
(
[uuid] => 658bee38-04c2-4f27-812f-dd46c3652dcb
[status] => active
[item] => Deslies
)
[6] => Array
(
[uuid] => a5c2b1dc-584d-4175-9d21-e7a910606835
[status] => active
[item] => Nandos
)
[7] => Array
(
[uuid] => e1a14e51-0cfc-47c6-8ae8-d408fd43571e
[status] => active
[item] => OK
)
)
分拣后
Array
(
[0] => Array
(
[uuid] => 658bee38-04c2-4f27-812f-dd46c3652dcb
[status] => active
[item] => Deslies
)
[1] => Array
(
[uuid] => a5c2b1dc-584d-4175-9d21-e7a910606835
[status] => active
[item] => Nandos
)
[2] => Array
(
[uuid] => e1a14e51-0cfc-47c6-8ae8-d408fd43571e
[status] => active
[item] => OK
)
[3] => Array
(
[uuid] => 4004
[status] => active
[item] => Hungry Lion
)
[4] => Array
(
[uuid] => 4003
[status] => active
[item] => Steers
)
[5] => Array
(
[uuid] => 4001
[status] => active
[item] => Starbucks
)
[6] => Array
(
[uuid] => 4002
[status] => active
[item] => Burger King
)
[7] => Array
(
[uuid] => 3199d45c-a5c2-474c-8768-06e18fdf6ace
[status] => active
[item] => Spar
)
)
为什么Burger King
排序后不先坐?
比较它们,然后根据您拥有的"item"返回结果。。
例如:
function compare($a, $b)
{
return strcmp($a["item"], $b["item"]);
}
usort($items, "compare");
while (list($key, $value) = each($items)) {
echo "'$items[$key]: " . $value["item"] . "'n";
}
这里有这样的例子:阅读手动
您使用的回调函数用于比较整数,而不是字符串
要比较字符串而不是整数,请使用strcmp(),而不是直接减去两个字符串。
usort($items, function($a, $b) {
return strcmp($a['item'], $b['item']);
});