当前位置: 首页 » 产品 » 农牧养殖 » 正文

php实现数组纵向转横向并过滤重复值的方法

放大字体  缩小字体 发布日期: 2024-11-26 01:26   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:37
核心提示:array(6=array(5='黑xx', 42='XXL'),7=array(5='黑xx', 40='XL'),8=array(8='灰',40='XL'),);要求转换成如下结果(数组纵向转横

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'), );

二、解决方法:

方法1:

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

方法2:

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

最简单的写法:

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

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站