<?
$a[0][0] = "乙";
$a[0][1] = "2002-2-1";
$a[1][0] = "甲";
$a[1][1] = "2002-1-1";
$a[2][0] = "丁";
$a[2][1] = "2002-4-1";
$a[3][0] = "丙";
$a[3][1] = "2002-3-1";
print_r($a);
echo "<br>";ksort($a);print_r($a);
?>
祇能按索引來排序
按天干地支,還是手工吧

解决方案 »

  1.   

    <?
    $a[0][0] = "乙";
    $a[0][1] = "2002-2-1";
    $a[1][0] = "甲";
    $a[1][1] = "2002-1-1";
    $a[2][0] = "丁";
    $a[2][1] = "2002-4-1";
    $a[3][0] = "丙";
    $a[3][1] = "2002-3-1";function cmp($a,$b)
    {
      $t1=explode('-',$a);
      $t2=explode('-',$b);  if ($t1[0]>$t1[0])
        return 1;
      else if ($t1[1]>$t2[1])
        return 1;
      else if ($t1[2]>$t2[2])
        return 1;
      else
        return 0;
    }
    function mysort()
    {
     global $a; for ($i=0;$i<3;$i++)
     {
     for ($j=$i+1;$j<=3;$j++)
     {
       if (cmp($a[$i][1],$a[$j][1]) == 1 )
       {
         $t0=$a[$i][0];
         $t1=$a[$i][1];     $a[$i][0]=$a[$j][0];
         $a[$i][1]=$a[$j][1];     $a[$j][0]=$t0;
         $a[$j][1]=$t1;
       }
     }
     }
    }function output()
    {
      global $a;  for ($i=0;$i<=3;$i++)
        echo $a[$i][0],' ',$a[$i][1],'<br>';  echo '<br>';
    }output();
    mysort();
    output();
    ?>-------------
    你看看合不合你意了.基本思路就是这样.自己写排序.
    如果可以的话...多给我一点分...我先谢你...
      

  2.   

    <?php $a=array(array(thekey=>"2",date=>"2002-2-1"),
    array(thekey=>'1',date=>"2002-1-1"),
    array(thekey=>'4',date=>"2002-4-1"),
    array(thekey=>'3',date=>"2002-3-1")
    ); asort($a);
    reset($a);
    while(list($key,$subarray)=each($a))
    {
    while (list($key,$val)=each($subarray))
    {
    echo "$key:$val <br>";
    }
    }
    ?>
      

  3.   

    昨天晚上我自己就已经解决了,你们提供的代码太长了,看看我写的代码吧!<?
    function cmp ($a, $b) {
        return (-strcmp($a[1], $b[1]));
    }
    $fruits[0][0] = "CCC";
    $fruits[0][1] = "2002-3-1";
    $fruits[1][0] = "AAA";
    $fruits[1][1] = "2002-1-1";
    $fruits[2][0] = "BBB";
    $fruits[2][1] = "2002-2-1";usort($fruits, "cmp");echo $fruits[0][0]."<br>";
    echo $fruits[0][1]."<br>";
    echo $fruits[1][0]."<br>";
    echo $fruits[1][1]."<br>";
    echo $fruits[2][0]."<br>";
    echo $fruits[2][1]."<br>";
    ?>