我正在尝试在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)
完成了这项工作!感谢。
答案 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);
?>