欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

数组纵向转横向如何实现啊

程序员文章站 2022-05-30 15:33:41
...
array(	6=>array(5=>'黑xx', 42=>'XXL'),	7=>array(5=>'黑xx', 40=>'XL'),	8=>array(8=>'灰',   40=>'XL'),);//结果:array(	0=>array(5=>'黑xx', 8=>'灰'),	1=>array(42=>'XXL', 40=>'XL'),);

数组纵向转横向并过滤重复值 是如何实现啊



回复讨论(解决方案)

$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        ))

$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        ))

最简单的写法

$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        ))

最简单的写法

$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        ))


这个方法好!!!!