我有一个像这样的关联数组。
Array
(
[0] => Array
(
[id] => 1
[name] => Admin
[email] => admin@admin.com
[group] => Admin
[href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=1
)
[1] => Array
(
[id] => 2
[name] => rochellecanale
[email] => rochellecanale11@gmail.com
[group] =>
[href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=2
)
[2] => Array
(
[id] => 3
[name] => symfony
[email] => chelle@flax.ph
[group] =>
[href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=3
)
[3] => Array
(
[id] => 4
[name] => jolopeterson
[email] => jolo@flax.ph
[group] =>
[href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=4
)
[4] => Array
(
[id] => 5
[name] => symfony123
[email] => symfony123@gmail.com
[group] =>
[href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=5
)
我想按name
排序,我该怎么做?
答案 0 :(得分:2)
http://php.net/manual/en/array.sorting.php
这是我去分页的页面。如果你想保留数组键,你可以这样做:
uasort($myArray, function ($a, $b) {
if ($a['name'] == $b['name'] return 0;
return ($a['name'] < $b['name']) ? -1 : 1;
});
将比较切换为更改或订购。如果您经常使用这种类型,您可能希望将其提取到自己的函数而不是使用闭包。就个人而言,排序闭包非常简短,我喜欢将其内联到我可以正确看到的内容,而无需跳转到另一段代码。
答案 1 :(得分:2)
uasort()功能是您正在寻找的功能。
uasort($data, function($a, $b) { return strcasecmp($a['name'], $b['name']); });
您应该查看 usort()和 uksort() doc,了解用户定义的比较函数的工作原理。
答案 2 :(得分:1)
试试这个
$nameA = array();
foreach ($inventory as $key => $row)
{
$nameA[$key] = $row['name'];
}
array_multisort($nameA, SORT_ASC, $inventory);
这里
$库存
是你的主阵列