1
我有一些數據格式爲:如何遞歸創建嵌套的PHP數組?
one,one
two,two
sub_one,one
sub_two,two
sub_sub_one,sub_one
sub_sub_two,sub_two
sub_sub_sub_one,sub_sub_one
sub_sub_sub_two,sub_sub_two
現在我想創建嵌套數組包含數據,我編寫了這一點:
<?php
$lines[] = "one,one";
$lines[] = "two,two";
$lines[] = "sub_one,one";
$lines[] = "sub_two,two";
$lines[] = "sub_sub_one,sub_one";
$lines[] = "sub_sub_two,sub_two";
$lines[] = "sub_sub_sub_one,sub_sub_one";
$lines[] = "sub_sub_sub_two,sub_sub_two";
foreach($lines as $line)
{
$tmp = explode(",", $line);
$array[$tmp[1]][$tmp[0]] = $tmp[0];
}
foreach($array as $key => $value)
{
foreach($array[$key] as $value2)
{
if(array_key_exists($value2, $array) && $value2 != $key)
{
$array[$key][$value2] = $array[$value2];
$unset[] = $value2;
}
else
{
unset($array[$key]);
}
}
}
foreach($unset as $un)
{
unset($array[$un]);
}
print_r($array);
?>
但這只是下降到第3級和沒有進一步。輸出看起來是這樣的:
Array
(
[one] => Array
(
[sub_one] => Array
(
[sub_sub_one] => sub_sub_one
)
)
[two] => Array
(
[sub_two] => Array
(
[sub_sub_two] => sub_sub_two
)
)
)
sub_sub_sub_one和sub_sub_sub_two不在輸出,我怎樣才能讓我的代碼遞歸所以不管有多少水平或關係中它仍然有效數據存在?
將列表中始終以正確的順序(父總會任何童裝之前上市?) – 2011-03-01 16:28:32