array: 建立一个新的阵列。 
array_walk: 让使用者自订函数能处理阵列中的每一个元素。 
arsort: 将阵列的值由大到小排序。 
asort: 将阵列的值由小到大排序。 
count: 计算变数或阵列中的元素个数。 
current: 传回阵列中目前的元素。 
each: 传回阵列中下一个元素的索引及值。 
end: 将阵列的内部指标指到最后的元素。 
key: 取得阵列中的索引资料。 
ksort: 将阵列的元素依索引排序。 
list: 列出阵列中元素的值。 
next: 将阵列的内部指标向后移动。 
pos: 传回阵列目前的元素。 
prev: 将阵列的内部指标往前移动。 
range: 建立一个整数范围的阵列。 
reset: 将阵列的指标指到阵列第一个元素。 
rsort: 将阵列的值由大到小排序。 
shuffle: 将阵列的顺序弄混。 
sizeof: 获知阵列的大小。 
sort: 将阵列排序。 
uasort: 将阵列依使用者自定的函式排序。 
uksort: 将阵列的索引依使用者自定的函式排序。 
usort: 将阵列的值依使用者自定的函式排序。 

解决方案 »

  1.   

    <?php
    $ar[0] = array(
      0 => 1,
      fid => 1,
      1 => 1,
      id => 1,
      2 => 1,
      tid => 1,
      3 => "sdfgdsfg",
      title => "sdfgdsfg",
      5 => "",
      content => "",
      6 => "",
      username => "",
      7 => 2342134 ,
      post_time => 2342134 ,
      8 => 0,
      read_count => 0
    );
    $ar[1] = array(
      0 => 1,
      fid => 1,
      1 => 3,
      id => 3,
      2 => 1,
      tid => 1,
      3 => "sadf",
      title => "sadf",
      5 => "asdfasd",
      content => "asdfasd",
      6 => "",
      username => "",
      7 => 111341234,
      post_time => 111341234,
      8 => 0,
      read_count => 0
    );/** 排序键
     */
    $cmp_key = "post_time";/** 排序用工作函数(降序 由usort()调用)
     */
    function _cmp_desc($a,$b) {
      global $cmp_key;
      if ($a[$cmp_key] == $b[$cmp_key]) return 0;
      return ($a[$cmp_key] > $b[$cmp_key]) ? -1 : 1;
    }/** 排序用工作函数(升序 由usort()调用)
     */
    function _cmp_asc($a,$b) {
      global $cmp_key;
      if ($a[$cmp_key] == $b[$cmp_key]) return 0;
      return ($a[$cmp_key] > $b[$cmp_key]) ? 1 : -1;
    }
    print_r($ar);
    usort($ar,"_cmp_desc");
    print_r($ar);
    ?>
    原数组
    Array
    (
        [0] => Array
            (
                [0] => 1
                [fid] => 1
                [1] => 1
                [id] => 1
                [2] => 1
                [tid] => 1
                [3] => sdfgdsfg
                [title] => sdfgdsfg
                [5] => 
                [content] => 
                [6] => 
                [username] => 
                [7] => 2342134
                [post_time] => 2342134
                [8] => 0
                [read_count] => 0
            )    [1] => Array
            (
                [0] => 1
                [fid] => 1
                [1] => 3
                [id] => 3
                [2] => 1
                [tid] => 1
                [3] => sadf
                [title] => sadf
                [5] => asdfasd
                [content] => asdfasd
                [6] => 
                [username] => 
                [7] => 111341234
                [post_time] => 111341234
                [8] => 0
                [read_count] => 0
            ))
    按降序post_time
    Array
    (
        [0] => Array
            (
                [0] => 1
                [fid] => 1
                [1] => 3
                [id] => 3
                [2] => 1
                [tid] => 1
                [3] => sadf
                [title] => sadf
                [5] => asdfasd
                [content] => asdfasd
                [6] => 
                [username] => 
                [7] => 111341234
                [post_time] => 111341234
                [8] => 0
                [read_count] => 0
            )    [1] => Array
            (
                [0] => 1
                [fid] => 1
                [1] => 1
                [id] => 1
                [2] => 1
                [tid] => 1
                [3] => sdfgdsfg
                [title] => sdfgdsfg
                [5] => 
                [content] => 
                [6] => 
                [username] => 
                [7] => 2342134
                [post_time] => 2342134
                [8] => 0
                [read_count] => 0
            ))
      

  2.   

    刚找到一个,看是不是你想要的:bool array_multisort (array ar1 [, mixed arg [, mixed ... [, array ...]]]) 
       
      对多个数组同时进行排序,或是对一个多维数组进行多个维的排序.
       
      输入的数组被处理成表的列,按行来排序,有点类似于sql语句中的order by条件。 
      这个函数的参数不常见,但是很灵活。可是一个数组或是下面这几个标志。 
       
      SORT_ASC - 升序 
       
      SORT_DESC - 降序 
       
      SORT_REGULAR - 常规比较 
       
      SORT_NUMERIC - 数值比较 
       
      SORT_STRING - 字串比较 
       
       
      一个数组不可以同时给两种类型的排序标志(这个当然了)。每个数组后的标志只对此数组有效。缺省为 SORT_ASC 和 SORT_REGULAR 。 
       
      如果正常,返回true,否则返回false。
      

  3.   

    array_*类的函数依然只是对一维的数组排序,对多维数组操作是,结果多数不正确
    我并没有开发什么函数,只是给usort函数提供一个回调函数。