這篇文章主要介紹了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