<?php
$ck = array('a' => array('a' => 'cc1', b => 213),
            'b' => array('a' => 'cc2', b => 103),
            'c' => array('a' => 'cc3', b => 150)
            );
#拆成三个:$xx[],$a[],$b[]
foreach ($ck as $key=>$value)
{  $xx[]=$key;
   foreach ($value as $key2=>$value2)
   {  
       if ($key2=="b")
       {
       $b[]=$value2;
       }
       else 
       {
       $a[]=$value2;
       }
       
   }
}
#对三个数组$xx[],$a[],$b[]调整顺序
asort($b);$i=0;
foreach($b as $key0=>$value0)
{
   $a2[$i]=$a[$key0];
   $xx2[$i]=$xx[$key0];
   $i++;
}
sort($b);
#组合为多重数组$ck2
for($i=0;$i<count($xx2);$i++)
{     $ck2[$xx2[$i]]=array('a'=>$a[$i],'b'=>$b[$i]);}#察看结果:
echo"<pre>";
print_r($ck);   //排序前的
print_r($ck2);  //排序后的
echo"</pre>";
?>

解决方案 »

  1.   

    Array
    (
        [a] => Array
            (
                [a] => cc1
                [b] => 213
            )    [b] => Array
            (
                [a] => cc2
                [b] => 103
            )    [c] => Array
            (
                [a] => cc3
                [b] => 150
            ))
    Array
    (
        [b] => Array
            (
                [a] => cc1
                [b] => 103
            )    [c] => Array
            (
                [a] => cc2
                [b] => 150
            )    [a] => Array
            (
                [a] => cc3
                [b] => 213
            ))
      

  2.   

    <?php
    $ck = array('a' => array('a' => 'cc1', b => 213),
                'b' => array('a' => 'cc2', b => 103),
                'c' => array('a' => 'cc3', b => 150)
                );
    #拆成三个:$xx[],$a[],$b[]
    foreach ($ck as $key=>$value)
    {  $xx[]=$key;
       foreach ($value as $key2=>$value2)
       {  
           if ($key2=="b")
           {
           $b[]=$value2;
           }
           else 
           {
           $a[]=$value2;
           }
           
       }
    }
    #对三个数组$xx[],$a[],$b[]调整顺序后,保存在$xx2[],$a2[],$b[]中
    asort($b);$i=0;
    foreach($b as $key0=>$value0)
    {
       $a2[$i]=$a[$key0];
       $xx2[$i]=$xx[$key0];
       $i++;
    }
    sort($b);
    #组合为多重数组$ck2
    for($i=0;$i<count($xx2);$i++)
    {     $ck2[$xx2[$i]]=array('a'=>$a2[$i],'b'=>$b[$i]);}#察看结果:
    echo"<pre>";
    print_r($ck);   //排序前的
    print_r($ck2);  //排序后的
    echo"</pre>";
    ?>
      

  3.   

    Array
    (
        [a] => Array
            (
                [a] => cc1
                [b] => 213
            )    [b] => Array
            (
                [a] => cc2
                [b] => 103
            )    [c] => Array
            (
                [a] => cc3
                [b] => 150
            ))
    Array
    (
        [b] => Array
            (
                [a] => cc2
                [b] => 103
            )    [c] => Array
            (
                [a] => cc3
                [b] => 150
            )    [a] => Array
            (
                [a] => cc1
                [b] => 213
            ))实在不好意思