xyx115 发表于 2019-6-25 10:11:32

二维数组的数字排序问题[已解决]

本帖最后由 xyx115 于 2019-6-25 13:12 编辑

下面的二维数组是对每个ip地址进行测速,得到的结果。其中第一列是需要测速的ip地址,第二列是测速的延迟结果。

Row Col 0 Col 1
221.224.254.180 22
122.193.27.16212
120.52.148.118 34
18.30.103.50 3

Global $fast = ['221.224.254.180', '122.193.27.162', '120.52.148.118', '218.30.103.50']
现在需要根据第二列的延迟,对网络ip地址进行排序,从而得到延迟最低的ip地址和延迟数。
就是说,根据第二列的数字大小,对整个数组进行排序。但使用
_ArraySort($fast, 0,0,0,1)
排序得到的结果是这样的:

Row Col 0 Col 1
122.193.27.16212
221.224.254.180 22
18.30.103.50 3
120.52.148.118 34
也就是说,把第二列的数字当成字符串进行比较了。
请教有什么好的方法,进行排序吗?谢谢!

问题已解决。采用A大的方法 For $i = 0 To UBound($fast,1)-1
                $fast[$i] = Number($fast[$i])
        Next最后进行排序。

afan 发表于 2019-6-25 10:15:32

先对数组需要排序的列循环 Number() 重赋值一次

xyx115 发表于 2019-6-25 13:11:19

afan 发表于 2019-6-25 10:15
先对数组需要排序的列循环 Number() 重赋值一次

搞定,感谢

qxguoxing 发表于 2019-6-26 09:12:18

学习一下。
页: [1]
查看完整版本: 二维数组的数字排序问题[已解决]