我有一個問題當我想要重建我的數組。 這是我在phpfiddle.org創建如何使用PHP在一個數組中合併數組?
http://phpfiddle.org/main/code/tzp-t1u
誰能給我建議?
我有一個問題當我想要重建我的數組。 這是我在phpfiddle.org創建如何使用PHP在一個數組中合併數組?
http://phpfiddle.org/main/code/tzp-t1u
誰能給我建議?
此代碼將幫助您
<?php
$result = array (
array(
'lev1'=> null,
'lev2'=> 34,
'lev3'=> 21,
'lev4'=> 22,
'child' => 'cyaiooo'
),
array(
'lev1'=> null,
'lev2'=> 34,
'lev3'=> 10,
'lev4'=> 8,
'child' => 'test1'
),
array(
'lev1'=> null,
'lev2'=> 34,
'lev3'=> 21,
'lev4'=> 22,
'child' => 'hodem'
)
);
$data = array();
foreach($result as $value)
{
if(count($data)==0)
{
$data[] = $value;
}else{
foreach($data as &$container)
{
if($value['lev1']==$container['lev1']
&&
$value['lev2']==$container['lev2']
&&
$value['lev3']==$container['lev3']
&&
$value['lev4']==$container['lev4'])
{
if(is_string($container['child']))
{
//get the string value
$string = $container['child'];
//unset the child string
unset($container['child']);
//declatre the array
$container['child'] = array();
$container['child'][] = $string;
}
$container['child'][] = $value['child'];
break;
}else{
$data[] = $value;
break;
}
}
}
}
print_r($data);
您可能需要提供更多的一些信息; - 關於合併數組有什麼規則(是否有一個公共密鑰,是否有匹配的值?) - 是否總是隻有3個索引開始,等等。 – roycable
您將不得不迭代拋出數組。數組合並不會合併現有密鑰的值。它只是合併兩個數組在一起,並保留重複的鍵未觸及 – Krimson
發佈您的數組生成代碼與幾個樣本數組,我真的不能得到什麼是你的輸出和你想要它。 –