我想在 php 中对数组进行排序。但是,结果和我排除的不一样。
$k = ["0000000105","104","A","C","B"];
sort($k);
var_dump($k);
我想得到 0000000105, 104, A,B,C
然而,它排序像
104,0000000105, A,B,C
为什么 104 显示在第一位而不是第二位?如何解决?
在 Swift 中,我像下面这样写,它像异常(exception)结果一样排序
var str = ["0000000105","104","A","C","B"]
let k = str.sorted()
print(k) //0000000105, 104, A,B,C
最佳答案
如果要严格按照字符串对元素进行排序,需要告诉PHP这样做,即
sort($k, SORT_STRING);
PHP 是一种松散类型的语言,所以当它遇到 0000000105
和 104
时,它会在使用 SORT_REGULAR
时对它们进行数值比较。
关于php - 为什么 "104"排在 "0000105"之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952996/