Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP按值对关联数组排序?_Php_Arrays - Fatal编程技术网

如何使用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以了解用户定义的比较函数如何工作的示例。

好的,谢谢。我还没有检查你上面发布的链接。我试试这个。好的,谢谢。我还没有检查你上面发布的链接。我试试这个。非常感谢你,找了很久了!非常感谢,我已经找了很久了!