$a = array(
6=>array(5=>'黑xx', 42=>'XXL'),
7=>array(5=>'黑xx', 40=>'XL'),
8=>array(8=>'灰',   40=>'XL'),
);foreach($a as $r) {
  $b[key($r)] = current($r);
  next($r);
  $c[key($r)] = current($r);
}
$b = array($b, $c);
print_r($b);Array
(
    [0] => Array
        (
            [5] => 黑xx
            [8] => 灰
        )    [1] => Array
        (
            [42] => XXL
            [40] => XL
        ))

解决方案 »

  1.   


    $arr = array(
        6=>array(5=>'黑xx', 42=>'XXL'),
        7=>array(5=>'黑xx', 40=>'XL'),
        8=>array(8=>'灰',   40=>'XL'),
    );$result = array();foreach($arr as $a){
        $keys = array_keys($a);
        $vals = array_values($a);
        $result[0][$keys[0]] = $vals[0];
        $result[1][$keys[1]] = $vals[1];
    }print_r($result);Array
    (
        [0] => Array
            (
                [5] => 黑xx
                [8] => 灰
            )    [1] => Array
            (
                [42] => XXL
                [40] => XL
            ))
      

  2.   

    最简单的写法$a = array(
        6=>array(5=>'黑xx', 42=>'XXL'),
        7=>array(5=>'黑xx', 40=>'XL'),
        8=>array(8=>'灰',   40=>'XL'),
    );
     
    foreach($a as $r) {
      $i = 0;
      while(list($k, $v) = each($r)) $b[$i++][$k] = $v;
    }
    print_r($b);Array
    (
        [0] => Array
            (
                [5] => 黑xx
                [8] => 灰
            )    [1] => Array
            (
                [42] => XXL
                [40] => XL
            ))