数组:
$array = [
0=>"z01",
1=>"Z32",
2=>"z17",
3=>"Z16",
];
需要排序后的结果
$rs_array = [
0=>"z01",
3=>"Z16",
2=>"z17",
1=>"Z32",
];
有什么好的排序写法呢?
数组:
$array = [
0=>"z01",
1=>"Z32",
2=>"z17",
3=>"Z16",
];
需要排序后的结果
$rs_array = [
0=>"z01",
3=>"Z16",
2=>"z17",
1=>"Z32",
];
有什么好的排序写法呢?
可以使用用户自定的比较函数, usort。
$array = [
0=>"z01",
1=>"Z32",
2=>"z17",
3=>"Z16",
];
function cmp($a,$b){
$a = intval(substr($a, 1));
$b = intval(substr($b, 1));
if ($a == $b) {
return 0;
}
return ($a < $b ) ? -1 : 1;
}
usort($array, "cmp");
print_r($array);
/*
Array
(
[0] => z01
[1] => Z16
[2] => z17
[3] => Z32
)
*/
一个系统函数搞定
<?php
$array = [
0=>"z01",
1=>"Z32",
2=>"z17",
3=>"Z16",
];
natcasesort($array);
print_r($array);
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.1k 阅读
1 回答1.2k 阅读
得到: