我在php中有一个像这样的数组:
$temp = array(
'vpc1' => array(
'reg1' => array (
'sub1',
)
)
'vpc2' => array(
'reg1' => array (
'sub2',
)
)
'vpc1' => array(
'reg1' => array (
'sub3',
)
)
);
我必须合并这些值以获得输出:
`$temp = array(
'vpc1' => array(
'reg1' => array (
'sub1',
'sub3',
)
)
'vpc2' => array(
'reg2' => array (
'sub2',
)
)
);`
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:0)
您的第一个问题是$ temp1中的传入数据结构。考虑一下您的数据并使其成为现实。这就是为什么有些男孩给你“-1投票”......我认为这只是一个问题。我再次投了你的问题。
<?php
//u got this
$temp1 = array("vpc1 | reg1 | sub1", "vpc1 | reg1 | sub2", "vpc1 | reg1 | sub3");
//u want this
$temp2 = array("vpc1 | reg1 | sub1,sub2,sub3");
//u need this, cause thats why we use arrays in complex data structures.
$temp = array(
'vpc1' => array(
'reg1' => array (
'sub1',
'sub2',
'sub3',
)
)
);
//ugly bug working
foreach ($temp1 as $data) {
$parts = preg_split("/\|/", $data);
// most ugly part in it. Thats where you guys should think about your data again.
$temp[$parts[0]][$parts[1]][$parts[2]];
}
var_dump($temp);
// array (size=1)
// 'vpc1' =>
// array (size=1)
// 'reg1' =>
// array (size=3)
// 0 => string 'sub1' (length=4)
// 1 => string 'sub2' (length=4)
// 2 => string 'sub3' (length=4)
?>