PHP数组按值排序

PHP数组按值排序,php,Php,我已经更新了我的问题,请检查一下 我有一个数组,如下所示: $array = [ 0 => [ "term" => "DECATHLON", "count" => 7, ], 1 => [ "term" => "babywalz", "count" => 6, ], 2 => [ "term" => "Douglas", "count" => 3, ], 3 =>

我已经更新了我的问题,请检查一下

我有一个数组,如下所示:

$array = [
  0 => [
    "term" => "DECATHLON",
    "count" => 7,
  ],
  1 => [
    "term" => "babywalz",
    "count" => 6,
  ],
  2 => [
    "term" => "Douglas",
    "count" => 3,
  ],
  3 => [
     "term" => "NETFLIX",
     "count" => 2,
  ],
  4 => [
    "term" => "zalando",
    "count" => 2,
  ],
  5 => [
    "term" => "Ernsting's family",
    "count" => 1,
  ],
  6 => [
    "term" => "Spotify",
    "count" => 1,
  ],
  7 => [
    "term" => "eventim",
    "count" => 1,
  ]
];
我想对数组进行如下排序:

$array = [
        1 => [
            "term" => "babywalz",
            "count" => 6,
        ],
        0 => [
            "term" => "DECATHLON",
            "count" => 7,
        ],
        2 => [
            "term" => "Douglas",
            "count" => 3,
        ],
        5 => [
            "term" => "Ernsting's family",
            "count" => 1,
        ],
        7 => [
            "term" => "eventim",
            "count" => 1,
        ],
        3 => [
            "term" => "NETFLIX",
            "count" => 2,
        ],
        6 => [
            "term" => "Spotify",
            "count" => 1,
        ],
    ];

任何建议都会有帮助。我已经使用了asort(),但它没有按我所希望的那样工作。我还尝试了natcasesort()。

这将对阵列进行不区分大小写的排序:

natcasesort($array);
因此:

像这样使用函数:sort($array)

请参阅文档:


自然顺序排序(不区分大小写)

您必须使用
natcasesort
,查找更多详细信息

输出

Array ( [1] => a [0] => D [3] => f [2] => Z )

您应该将
usort


谢谢你宝贵的帮助。我已解决我的问题如下:

usort($value, function($x, $y) { 
    return strcasecmp($x['term'], $y['term']); 
});

回答后,你完全重组了你的问题。在OP完全重新编辑问题之前,这个答案有效;)
$array = [    'D', 'a', 'Z', 'f'];    
natcasesort ($array);     
print_r($array);
Array ( [1] => a [0] => D [3] => f [2] => Z )
usort($array, function($a, $b){ 
    return strnatcmp (strtolower($a["term"]), strtolower($b["term"]));
});
usort($value, function($x, $y) { 
    return strcasecmp($x['term'], $y['term']); 
});