<?php
$t = array(
'105,140044767714' => '3,2006-07-08 19:29:21',
'100,140029731993' => '3,2006-07-05 00:08:04',
'107,090009807675' => '1,2006-06-01 00:30:06',
'106,090009807675' => '1,2006-07-01 00:45:02',
'109,140032265399' => '3,2006-08-05 08:27:57',
'105,100027839844' => '4,2006-07-01 02:29:30'
);usort($t, 'f');
print_r($t);
function f($a, $b)
{
$a = strtotime(substr($a,1));
$b = strtotime(substr($b,1));
if($a == $b) return 0;
return $a < $b ? -1 : 1;
}
?>

解决方案 »

  1.   

    $original = array
    (
    '105,140044767714' => '3,2006-07-08 19:29:21',
    '100,140029731993' => '3,2006-07-05 00:08:04',
    '107,090009807675' => '1,2006-06-01 00:30:06',
    '106,090009807675' => '1,2006-07-01 00:45:02',
    '109,140032265399' => '3,2006-08-05 08:27:57',
    '105,100027839844' => '4,2006-07-01 02:29:30'
    );foreach($original as $key=>$value)
    {
        $a = explode(',',$value);
        $new[$key] =  strtotime($a[1]);
    }
    asort($new);
    $result = array_merge($new,$original);
    print_r($result);
      

  2.   

    function cmp ($a, $b) {    $ra = split(",",$a);
        $rb = split(",",$b);
        if($ra[0]<$rb[0])
            return -1;
        elseif($ra[0]>$rb[0])
            return 1;
        else
        {
            if(strtotime($ra[1]) < strtotime($rb[1]))
            {
                return -1;
            }elseif(strtotime($ra[1]) > strtotime($rb[1]))
                return 1;
            else
                return 0;    }
    }
    $a = array(
         "105,140044767714" => "3,2006-07-08 19:29:21",
         "100,140029731993" => "3,2006-07-05 00:08:04",
         "107,090009807675" => "1,2006-06-01 00:30:06",
         "106,090009807675" => "1,2006-07-01 00:45:02",
         "109,140032265399" => "3,2006-08-05 08:27:57",
         "105,100027839844" => "4,2006-07-01 02:29:30",
    );uasort($a,"cmp");
    print_r($a);
      

  3.   

    <?
     $day=array();
     $day["105,140044767714"] = "3,2006-07-08 19:29:21";
         $day["100,140029731993"] = "3,2006-07-05 00:08:04";
         $day["107,090009807675"] = "1,2006-06-01 00:30:06";
         $day["106,090009807675"] = "1,2006-07-01 00:45:02";
         $day["109,140032265399"] = "3,2006-08-05 08:27:57";
         $day["105,100027839844"] = "4,2006-07-01 02:29:30";
         $tday=array();
       while(list($key,$val)=each($day))
       {
        $tmp=explode(",",$val);
        $val=$tmp[1].",".$tmp[0];
        $tday[$val]=$key;
       
       }
       ksort($tday);
       while(list($key,$val)=each($tday))
       {
        $tmp=explode(",",$key);
        $key=$tmp[1].",".$tmp[0];
        $ttday[$val]=$key;
       }
    reset($tday);
    print_r($tday);
    reset($ttday);
    print_r($ttday);
    ?>
    print
    Array ( [2006-06-01 00:30:06,1] => 107,090009807675 
    [2006-07-01 00:45:02,1] => 106,090009807675 
    [2006-07-01 02:29:30,4] => 105,100027839844 
    [2006-07-05 00:08:04,3] => 100,140029731993 
    [2006-07-08 19:29:21,3] => 105,140044767714 
    [2006-08-05 08:27:57,3] => 109,140032265399 ) Array ( [107,090009807675] => 1,2006-06-01 00:30:06 
    [106,090009807675] => 1,2006-07-01 00:45:02 
    [105,100027839844] => 4,2006-07-01 02:29:30 
    [100,140029731993] => 3,2006-07-05 00:08:04 
    [105,140044767714] => 3,2006-07-08 19:29:21 
    [109,140032265399] => 3,2006-08-05 08:27:57 )