首页 >后端开发 >php教程 >数组纵向转横向如何实现啊

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

WBOY
WBOY原创
2016-06-23 13:52:431032浏览

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



这个方法好!!!!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn