php实现数组纵向转横向并过滤重复值的方法分析_php技巧

本文实例讲述了php实现数组纵向转横向并过滤重复值的方法。分享给大家供大家参考,具体如下:

一、问题

有数组:

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

转载请注明:代码学堂>编程开发 > php教程 > php实现数组纵向转横向并过滤重复值的方法分析_php技巧

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!10210454@qq.com
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!

磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持

磊宇堂 » php实现数组纵向转横向并过滤重复值的方法分析_php技巧

提供最优质的资源集合

立即查看 了解详情