请教 php 如何把如下数字排序
duo2013.user063 : 45 kH/s
duo2013.user051 : 52 kH/s
duo2013.user064 : 56 kH/s
duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user076 : 84 kH/s
........换成
duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user051 : 52 kH/s
duo2013.user063 : 45 kH/s
duo2013.user064 : 56 kH/s
duo2013.user076 : 84 kH/s
........原始数据是安装 kH/s 的值排序,现要求按照userxxx 排序. 谢谢大概有200行左右的数据 .. 所以必须正则PHP正则
duo2013.user063 : 45 kH/s
duo2013.user051 : 52 kH/s
duo2013.user064 : 56 kH/s
duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user076 : 84 kH/s
........换成
duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user051 : 52 kH/s
duo2013.user063 : 45 kH/s
duo2013.user064 : 56 kH/s
duo2013.user076 : 84 kH/s
........原始数据是安装 kH/s 的值排序,现要求按照userxxx 排序. 谢谢大概有200行左右的数据 .. 所以必须正则PHP正则
按行读入数组,直接排序然后重新输出就行了如果前面不仅duo2013的话
再按“.”拆分二维数组,用multisort按第二维排序
然后组合输出
duo2013.user063 : 45 kH/s
duo2013.user051 : 52 kH/s
duo2013.user064 : 56 kH/s
duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user076 : 84 kH/s
TXT;
$ar = explode("\n", $s);
sort($ar);
echo join("\n", $ar);duo2013.user022 : 72 kH/s
duo2013.user036 : 73 kH/s
duo2013.user051 : 52 kH/s
duo2013.user063 : 45 kH/s
duo2013.user064 : 56 kH/s
duo2013.user076 : 84 kH/s