如何在php中访问嵌套数组
下面是一个名为“readcontent\u categories”的mysql表 我想用上表生成一棵深度不定的树。例如,让我看看“英语”下的所有内容。那么它必须显示如下:如何在php中访问嵌套数组,php,mysql,arrays,nested,Php,Mysql,Arrays,Nested,下面是一个名为“readcontent\u categories”的mysql表 我想用上表生成一棵深度不定的树。例如,让我看看“英语”下的所有内容。那么它必须显示如下: english |--------+Tens |-------+present |-------+past |-------+future Array ( [2] => Array ( [3] => Array ( ) )
english
|--------+Tens
|-------+present
|-------+past
|-------+future
Array ( [2] => Array ( [3] => Array ( ) ) )
现在我试着如下:
<?php
include("config.php");
$query = "SELECT * FROM readcontent_categories";
$result = mysql_query($query);
function getChildren($pid){
$r = array();
global $row, $result;
while( $row = mysql_fetch_array($result) ){
if($row['parent_id'] == $pid)$r[$row['id']] = getChildren($row['id']);
}
return $r;
}
$final = getChildren(1);
print_r($final);
?>
但如何获得上述输出呢?任何人都可以帮助???使用此自定义功能:
例如:
$items = array(
array('id' => 42, 'parent_id' => 1),
array('id' => 43, 'parent_id' => 42),
array('id' => 1, 'parent_id' => 0),
);
function buildTree($items) {
$childs = array();
foreach($items as &$item) $childs[$item['parent_id']][] = &$item;
unset($item);
foreach($items as &$item) if (isset($childs[$item['id']]))
$item['childs'] = $childs[$item['id']];
return $childs[0];
}
$tree = buildTree($items);
你知道你的查询不包含关于你的信息吗?是的,它按照我想要的方式工作。。。但是你能解释一下如何按上面的树形结构打印吗…?看这里-