我想在php中对数组进行排序。但是,结果与我不同。
# initiate virtual display with 'visible=0' activated
# this way you will hide the browser
display = Display(visible=0, size=(800, 600))
# Start Display
display.start()
...
# Do your fetching/scrapping
...
# Stop Display
display.stop()
我想获得$k = ["0000000105","104","A","C","B"];
sort($k);
var_dump($k);
然而,它的排序方式如
0000000105, 104, A,B,C
为什么104首先显示而不是第二?如何解决?
在Swift中,我写了如下的内容,它排序为例外结果
104,0000000105, A,B,C
答案 0 :(得分:3)
如果要将元素严格地排序为字符串,则需要告诉PHP这样做,即
sort($k, SORT_STRING);
PHP是一种松散类型的语言,因此当遇到0000000105
和104
时,它会在使用SORT_REGULAR
时以数字方式对它们进行比较。
答案 1 :(得分:-1)
使用natsort($k);
结果将是
array(5) { [0]=> string(10) "0000000105" [1]=> string(3) "104" [2]=> string(1) "A" [4]=> string(1) "B" [3]=> string(1) "C" }