php實現數組縱向轉橫向并過濾重復值的方法分析

這篇文章主要介紹了php實現數組縱向轉橫向并過濾重復值的方法,結合具體實例形式對比分析了php針對數組遍歷、轉換與去重相關操作技巧,需要的朋友可以參考下

本文實例講述了php實現數組縱向轉橫向并過濾重復值的方法。分享給大家供大家參考,具體如下:

一、問題

有數組:

array(  ??6=>array(5=>'黑xx',?42=>'XXL'),  ??7=>array(5=>'黑xx',?40=>'XL'),  ??8=>array(8=>'灰',??40=>'XL'),  );

立即學習PHP免費學習筆記(深入)”;

要求轉換成如下結果(數組縱向轉橫向并過濾重復值):

array(  ??0=>array(5=>'黑xx',?8=>'灰'),  ??1=>array(42=>'XXL',?40=>'XL'),  );

立即學習PHP免費學習筆記(深入)”;

二、解決方法

方法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);

立即學習PHP免費學習筆記(深入)”;

方法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);

立即學習PHP免費學習筆記(深入)”;

最簡單的寫法:

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

立即學習PHP免費學習筆記(深入)”;

最終運行結果均為:

Array  (  ??[0]?=>?Array  ????(  ??????[5]?=>?黑xx  ??????[8]?=>?灰  ????)  ??[1]?=>?Array  ????(  ??????[42]?=>?XXL  ??????[40]?=>?XL  ????)  )

立即學習PHP免費學習筆記(深入)”;

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享