Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中访问嵌套数组_Php_Mysql_Arrays_Nested - Fatal编程技术网

如何在php中访问嵌套数组

如何在php中访问嵌套数组,php,mysql,arrays,nested,Php,Mysql,Arrays,Nested,下面是一个名为“readcontent\u categories”的mysql表 我想用上表生成一棵深度不定的树。例如,让我看看“英语”下的所有内容。那么它必须显示如下: english |--------+Tens |-------+present |-------+past |-------+future Array ( [2] => Array ( [3] => Array ( ) )

下面是一个名为“readcontent\u categories”的mysql表

我想用上表生成一棵深度不定的树。例如,让我看看“英语”下的所有内容。那么它必须显示如下:

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);

你知道你的查询不包含关于你的信息吗?是的,它按照我想要的方式工作。。。但是你能解释一下如何按上面的树形结构打印吗…?看这里-