例子 2. 使用多维数组的 usort() 例子 <?php
function cmp ($a, $b) {
    return strcmp($a["fruit"], $b["fruit"]);
}$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";usort($fruits, "cmp");while (list ($key, $value) = each ($fruits)) {
    echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>
 当排序多维数组时,$a 和 $b 包含到数组第一个索引的引用。 本例将显示: $fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons
 

解决方案 »

  1.   

    这样试过不行的
    我的程序如下,我也是在这里找到的这个方法可是测试居然不成功。代码如下。
    function myfun1($a,$b){
    return (-strcmp($a[num_reads], $b[num_reads]));
    }$arr1  = Array (
                Array (id => 1,blog=>'数码博客',about=>'网络聊天',num_reads=> '188' ) ,
                Array (id=> 2, blog => 'simple',about =>'', num_reads =>' 3 '),
        Array (id=> 3, blog => 'foxshare_blog挑战无限',about =>'', num_reads => '109'),
        Array (id => 5 ,blog=>' PHP', about=> 'php技术交流区 ',num_reads=> '3' ),
        Array (id => 6 ,blog =>' test' ,about =>'', num_reads => '1' )
         ) ;
    //echo '<br>';
    //print_r($arr1);
    usort($arr1,"myfun");
    echo '<br>------------- result  ------------<br>';
    print_r($arr1);
      

  2.   

    function myfun1($a,$b){
    return (-strcmp($a[num_reads], $b[num_reads]));
    }$arr1  = Array (
                Array (id => '1',blog => '数码博客',about=>'网络聊天',num_reads=>'188') ,
                Array (id => '2',blog => 'simple',about =>'', num_reads =>'3'),
        Array (id => '3',blog => 'foxshare_blog挑战无限',about =>'',num_reads =>'109'),
        Array (id => '5',blog => ' PHP',about=> 'php技术交流区 ',num_reads=>'3'),
        Array (id => '6',blog => ' test',about =>'', num_reads =>'1')
         ) ;
    usort($arr1,"myfun1");
    echo '<br>------------- result  ------------<br>';
    print_r($arr1);
      

  3.   


    return (-strcmp($a[num_reads], $b[num_reads]));
    改成
    if ($a[num_reads]==$b[num_reads]) return 0;
    return ($a[num_reads]>$b[num_reads])? -1:1; 是数字比较就不要用strcmp
      

  4.   

    usort($arr1,"myfun1");Array
    (
        [0] => Array
            (
                [id] => 1
                [blog] => 数码博客
                [about] => 网络聊天
                [num_reads] => 188
            )    [1] => Array
            (
                [id] => 2
                [blog] => simple
                [about] => 
                [num_reads] =>  3 
            )    [2] => Array
            (
                [id] => 3
                [blog] => foxshare_blog挑战无限
                [about] => 
                [num_reads] => 109
            )    [3] => Array
            (
                [id] => 5
                [blog] =>  PHP
                [about] => php技术交流区 
                [num_reads] => 3
            )    [4] => Array
            (
                [id] => 6
                [blog] =>  test
                [about] => 
                [num_reads] => 1
            ))
    <br>------------- result  ------------<br>Array
    (
        [0] => Array
            (
                [id] => 5
                [blog] =>  PHP
                [about] => php技术交流区 
                [num_reads] => 3
            )    [1] => Array
            (
                [id] => 1
                [blog] => 数码博客
                [about] => 网络聊天
                [num_reads] => 188
            )    [2] => Array
            (
                [id] => 3
                [blog] => foxshare_blog挑战无限
                [about] => 
                [num_reads] => 109
            )    [3] => Array
            (
                [id] => 6
                [blog] =>  test
                [about] => 
                [num_reads] => 1
            )    [4] => Array
            (
                [id] => 2
                [blog] => simple
                [about] => 
                [num_reads] =>  3 
            ))