我用这个检查数字排序:
$fruits = array("c","b","a", "11",100, 100,"10", );
sort($fruits, SORT_NUMERIC);
foreach ($fruits as $key => $val) {
echo $val."<br>";
}
输出是 C b 一个 一个 10 11 100 100
为什么它显示c高于b?
答案 0 :(得分:0)
数字排序意味着它根据thair ascci值对数组进行排序 以下是数组的ascii值 c ascii:99 b ascii:98 一个ascii:97 11 ascii:49 10 ascii; 49 100 ascii:49 100 ascii:49
答案 1 :(得分:0)
如果您只使用字母和数字值,则可以使用以下代码:
<?php
$fruits = array("c","b","a", "11",100, 100,"10");
natsort($fruits);
$numarray = array();
$strarray = array();
foreach ($fruits as $key => $value) {
// $array[] = $value;
if(is_numeric($value)){
$numarray[] = $value;
}
else {
$strarray[] = $value;
}
}
$array = array_merge($strarray,$numarray);
// print_r($array);
foreach ($array as $key1 => $val) {
echo $val."<br>";
}
?>
希望这有帮助!