明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

php完成數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法區(qū)分

[摘要]這篇文章主要介紹了php實(shí)現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法,結(jié)合具體實(shí)例形式對(duì)比分析了php針對(duì)數(shù)組遍歷、轉(zhuǎn)換與去重相關(guān)操作技巧,需要的朋友可以參考下本文實(shí)例講述了php實(shí)現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法。分享給大家供大家參考,具體如下:一、問(wèn)題有數(shù)組:array(6=>array(5=...
這篇文章主要介紹了php實(shí)現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法,結(jié)合具體實(shí)例形式對(duì)比分析了php針對(duì)數(shù)組遍歷、轉(zhuǎn)換與去重相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了php實(shí)現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法。分享給大家供大家參考,具體如下:

一、問(wèn)題

有數(shù)組:

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

要求轉(zhuǎn)換成如下結(jié)果(數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值):

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

最簡(jiǎn)單的寫(xiě)法:

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

最終運(yùn)行結(jié)果均為:

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

以上就是php實(shí)現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法分析的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。