按数字排序数组

时间:2018-06-02 05:05:12

标签: php

我正在尝试在php中以数字方式对字符串数组进行排序。 每个字符串都以数字开头。

数组的内容如下所示:

1_some-str
2_some-str
3_some-str
4_some-str
...
10_some-str
11_some-str

使用sort(),输出如下:

10_some-str
11_some-str
1_some-str
2_some-str
...    
9_some-str

我怎样才能让阵列从1-11开始向上排序?

修改

natsort()无效。

sort($array, SORT_NUMERIC)完成了这项工作!感谢。

2 个答案:

答案 0 :(得分:0)

试试这个会解决你的问题:

$ar = [
    "1_some-str",
    "2_some-str",
    "4_some-str",
    "3_some-str",
];

echo "<pre>";
print_r($ar);
echo "</pre>";

natsort($ar);

echo "<pre>";
print_r($ar);
echo "</pre>";

答案 1 :(得分:0)

使用Natsort

    <?php
$myData=array(
"1_some-str",
"5_some-str",   
"3_some-str",
"4_some-str",
"2_some-str",
);

echo "<pre>";
natsort($myData);
print_r($myData);

?>
相关问题