在 PHP 中按值(半数字字符串的一部分)对长长度数字进行排序


Sort long length numbers by value in PHP (parts of half-numeric strings)

我有一些以数字开头的字符串,目前 PHP 的默认sort()处理它的方式比我预期的要差。

当前排序结果:

111a
112a
1123a
204a
205a
20765a
3a

我的期望:

3a
111a
112a
204a
205a
1123a
20765a

例如,我是否应该首先提取所有元素的所有元素?我如何在PHP中以简单的方式做到这一点?

使用另一个名为 natsort() ;) 的 PHP 函数

因此,在您的情况下:

$temp = array(
    '111a',
    '112a',
    '1123a',
    '204a',
    '205a',
    '20765a',
    '3a',
);
natsort($temp);
var_dump($temp);