php完成數(shù)組縱向轉(zhuǎn)橫向并過(guò)濾重復(fù)值的方法區(qū)分
發(fā)表時(shí)間:2023-08-26 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]這篇文章主要介紹了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í)。