Zul*_*kis 2 php sorting function
我正在使用与usort一起使用的自定义排序功能:
function cmp($wert_a, $wert_b) {
$a = $wert_a["name"];
$b = $wert_b["name"];
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : +1;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我有一个这样的数组:5a,10b,6c,HR9,44x
它将其分类10b,44x,5a,6c,HR9.
我希望它有点像 5a,6c,10b,44x,HR9
怎么能实现这一目标?
编辑:我没有真正提到的一件事(我在代码中但没有在文本中做过)是它是一个多维数组,如下所示:
$array[0]["name"] = "5b";
$array[0]["..."] = "other values";
$array[1]["name"] = "10a";
$array[1]["..."] = "other values";
Run Code Online (Sandbox Code Playgroud)
使用natsort和朋友我不能这样排序.
我建议你只使用natsort().它的行为与您尝试创建的行为相同.
要对多维数组进行排序,请参阅:http: //www.php.net/manual/en/function.array-multisort.php#61976
function array_key_multi_sort($arr, $l , $f='strnatcasecmp')
{
usort($arr, create_function('$a, $b', "return $f(\$a['$l'], \$b['$l']);"));
return($arr);
}
Run Code Online (Sandbox Code Playgroud)