如何使用PHP按值对关联数组排序?
我有一个这样的关联数组如何使用PHP按值对关联数组排序?,php,arrays,Php,Arrays,我有一个这样的关联数组 Array ( [0] => Array ( [id] => 1 [name] => Admin [email] => admin@admin.com [group] => Admin [href] => http://localhost/teradasys/index.php/users/us
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
)
我想按名称进行排序
如何进行排序?试试这个
$nameA = array();
foreach ($inventory as $key => $row)
{
$nameA[$key] = $row['name'];
}
array_multisort($nameA, SORT_ASC, $inventory);
这里
美元库存
是您的主阵列吗
$nameA = array();
foreach ($inventory as $key => $row)
{
$nameA[$key] = $row['name'];
}
array_multisort($nameA, SORT_ASC, $inventory);
这里
美元库存
是您的主阵列
这是我的分类页面。如果要保留数组键,请执行以下操作:
uasort($myArray, function ($a, $b) {
if ($a['name'] == $b['name']) return 0;
return ($a['name'] < $b['name']) ? -1 : 1;
});
uasort($myArray,function($a,$b){
如果($a['name']=$b['name'])返回0;
报税表($a['name']<$b['name'])?-1:1;
});
将比较切换为更改或排序。如果您经常使用这种排序,您可能希望将其提取到自己的函数中,而不是使用闭包。就个人而言,排序闭包非常短,我喜欢将其内联,这样我就可以准确地看到正在发生的事情,而无需跳转到另一段代码。
这是我的分类页面。如果要保留数组键,请执行以下操作:
uasort($myArray, function ($a, $b) {
if ($a['name'] == $b['name']) return 0;
return ($a['name'] < $b['name']) ? -1 : 1;
});
uasort($myArray,function($a,$b){
如果($a['name']=$b['name'])返回0;
报税表($a['name']<$b['name'])?-1:1;
});
将比较切换为更改或排序。如果您经常使用这种排序,您可能希望将其提取到自己的函数中,而不是使用闭包。就个人而言,排序闭包非常短,我喜欢将其内联,这样我就可以准确地看到正在发生的事情,而无需跳转到另一个代码位。函数就是您想要的
uasort($data, function($a, $b) { return strcasecmp($a['name'], $b['name']); });
您应该在usort()和uksort()文档中查看用户定义的比较函数的工作原理示例。函数就是您要查找的
uasort($data, function($a, $b) { return strcasecmp($a['name'], $b['name']); });
您应该查看usort()和uksort()doc以了解用户定义的比较函数如何工作的示例。好的,谢谢。我还没有检查你上面发布的链接。我试试这个。好的,谢谢。我还没有检查你上面发布的链接。我试试这个。非常感谢你,找了很久了!非常感谢,我已经找了很久了!