按数字键对数组进行不自然的排序

2024-03-08

我试图按数组的数字键对数组进行排序,就好像它们不是数字一样——我不想要自然排序。

$arr = [
    '1000' => 'DUMMY',
    '1001' => 'TEST',
    '100001' => 'DUMMY1',
    '100002' => 'DUMMY3',
    '100004' => 'DUMMY4',
    '100100' => 'test1',
    '100102' => 'DUMMY123'
];

排序后,结果应该是:

[
    '1000' => 'DUMMY',
    '100001' => 'DUMMY1',
    '100002' => 'DUMMY3',
    '100004' => 'DUMMY4',
    '1001' => 'TEST',
    '100100' => 'test1',
    '100102' => 'DUMMY123'
]

因为您的数组键是“big-endian”,所以您可以将键显式排序为字符串(覆盖 `sort() 的默认行为以按数字方式对数值进行排序)。 (Demo https://3v4l.org/RHovu)

ksort($arr, SORT_STRING);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按数字键对数组进行不自然的排序 的相关文章

随机推荐