PHP实现结果集的另类排序

前天去面试的时候,给我出了一个问题:使用PHP将结果集进行排序,首先输出ID最大的值,然后输出ID最小的值;再输入剩余结果集中ID最大的值,接着输出剩余结果集中ID最小的值,以此类推,一直循环下去。

说实话,当时确实把我难住了,一直以为用一句SQL语句就可以实现这个功能,但我确实不知道什么样的SQL语句可以实现这样的排序方法,我只知道升序和降序两种排序。不由觉的自己了解的太少,只是会一些基本的应用,一些很别调的要求就无法完成了。

当然,这就说明自己的水平还很次,还要努力学习!

这个问题没解决,心里实有些不甘心。于是晚上回到家后便开始琢磨起来:什么样的SQL语句才可以实现这种排序呢?无奈,只好请教芽雨兄了,芽雨给我的答案很明确:SQL几乎不可能实现,要使用数组来进行操作。接下来我便一些写代码测试,一边想解决方法,一边上网查找PHP对数组操作的函数。

执行结果如下:

结果按ID升序排序

结果集的另类排序

终于算是完美的解决了,但不知道是否还有更简单的办法来实现?