function myArrCompare($ar1, $ar2){
if($ar1[4] > $ar2[4])
      return 1;
   else if($ar1[4] < $ar2[4])
      return -1;
   else
   return 0;
}uasort($aclass,'myArrCompare');

解决方案 »

  1.   

    首先 icewolf_li(冰狼) 的代码是正确的
    结果为
    Array
    (
        [1] => Array
            (
                [0] => 2
                [1] => 1
                [2] => 应用技巧
                [3] => PHP编程技巧总结
                [4] => 1
            )    [2] => Array
            (
                [0] => 3
                [1] => 2
                [2] => 高级应用
                [3] => PHP程序的高级应用
                [4] => 2
            )    [0] => Array
            (
                [0] => 1
                [1] => 3
                [2] => 入门指南
                [3] => PHP基础知识
                [4] => 3
            ))
    但由于使用的是uasort函数,所以虽然位置变了,但下标没变
    若希望下标改变,请使用usort函数
    usort($aclass,'myArrCompare');
    结果为
    Array
    (
        [0] => Array
            (
                [0] => 2
                [1] => 1
                [2] => 应用技巧
                [3] => PHP编程技巧总结
                [4] => 1
            )    [1] => Array
            (
                [0] => 3
                [1] => 2
                [2] => 高级应用
                [3] => PHP程序的高级应用
                [4] => 2
            )    [2] => Array
            (
                [0] => 1
                [1] => 3
                [2] => 入门指南
                [3] => PHP基础知识
                [4] => 3
            ))