我有这样一个关联数组。
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分类,我该怎么做?
发布于 2016-03-28 04:42:34
乌斯波特()函数是您要寻找的。
uasort($data, function($a, $b) { return strcasecmp($a['name'], $b['name']); });您应该查看、usort()、和uksort()文档,以了解用户定义的比较函数是如何工作的。
发布于 2016-03-28 04:03:58
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;
});将比较切换为更改或排序。如果经常使用这种类型,则可能希望将其提取到自己的函数中,而不是使用闭包。就我个人而言,一个类型的闭包非常短,我喜欢将它内联,这样我就可以准确地看到发生了什么,而不需要跳到另一个代码。
发布于 2016-03-28 03:59:12
尝尝这个
$nameA = array();
foreach ($inventory as $key => $row)
{
$nameA[$key] = $row['name'];
}
array_multisort($nameA, SORT_ASC, $inventory);这里
$inventory
是你的主数组
https://stackoverflow.com/questions/36255715
复制相似问题