如何在PHP中获取树型数组的所有元素?

如何在PHP中获取树型数组的所有元素?,php,Php,这里是一个简单的数组。我要取所有的父母和孩子。我怎样才能得到它 $tree = array ( 1 => array ( 2 => "A", 3 => "B", 4 => array ( 6 => "D", 7 => array ( 8 =>

这里是一个简单的数组。我要取所有的父母和孩子。我怎样才能得到它

$tree = array (
    1 => array (
            2 => "A",
            3 => "B",
            4 => array (
                    6 => "D",
                    7 => array (
                            8 => "E",
                            9 => array (
                                    10 => "F",
                                    11 => "G" 
                            ) 
                    ) 
            ),

            5 => "C" 
    ) 
))

使用递归函数

$tree = array (
    1 => array (
            2 => "A",
            3 => "B",
            4 => array (
                    6 => "D",
                    7 => array (
                            8 => "E",
                            9 => array (
                                    10 => "F",
                                    11 => "G" 
                            ) 
                    ) 
            ),

            5 => "C" 
    )
);

// Recursive function
// Take array as parameter
function print_array(array $array)
{
    // Loop through associative array in the form of key and value
    foreach($array as $key => $value)
    {
        // If the value is array data type call recursive function 
        // by passing the value itself
        if (gettype($value) == 'array')
        {
            echo "New array of Key:{$key} started <br>";
            print_array($value);
        }
        else
        {
            // If the value is not array just print it
            echo "Key: {$key}, Value {$value} <br>";
        }
    }
}

print_array($tree);
$tree=数组(
1=>数组(
2=>“A”,
3=>“B”,
4=>数组(
6=>“D”,
7=>数组(
8=>“E”,
9=>数组(
10=>“F”,
11=>“G”
) 
) 
),
5=>“C”
)
);
//递归函数
//以数组为参数
函数打印_数组(数组$array)
{
//以键和值的形式循环通过关联数组
foreach($key=>$value的数组)
{
//如果值是数组数据类型,则调用递归函数
//通过传递值本身
if(gettype($value)=='array')
{
echo“键的新数组:{$Key}已启动
”; 打印数组($value); } 其他的 { //如果值不是数组,只需打印它 echo“Key:{$Key},Value{$Value}
”; } } } 打印数组($tree);
使用递归函数

$tree = array (
    1 => array (
            2 => "A",
            3 => "B",
            4 => array (
                    6 => "D",
                    7 => array (
                            8 => "E",
                            9 => array (
                                    10 => "F",
                                    11 => "G" 
                            ) 
                    ) 
            ),

            5 => "C" 
    )
);

// Recursive function
// Take array as parameter
function print_array(array $array)
{
    // Loop through associative array in the form of key and value
    foreach($array as $key => $value)
    {
        // If the value is array data type call recursive function 
        // by passing the value itself
        if (gettype($value) == 'array')
        {
            echo "New array of Key:{$key} started <br>";
            print_array($value);
        }
        else
        {
            // If the value is not array just print it
            echo "Key: {$key}, Value {$value} <br>";
        }
    }
}

print_array($tree);
$tree=数组(
1=>数组(
2=>“A”,
3=>“B”,
4=>数组(
6=>“D”,
7=>数组(
8=>“E”,
9=>数组(
10=>“F”,
11=>“G”
) 
) 
),
5=>“C”
)
);
//递归函数
//以数组为参数
函数打印_数组(数组$array)
{
//以键和值的形式循环通过关联数组
foreach($key=>$value的数组)
{
//如果值是数组数据类型,则调用递归函数
//通过传递值本身
if(gettype($value)=='array')
{
echo“键的新数组:{$Key}已启动
”; 打印数组($value); } 其他的 { //如果值不是数组,只需打印它 echo“Key:{$Key},Value{$Value}
”; } } } 打印数组($tree);
以下是模式键1值A键3值B键4值D、E、F、G键5值C的答案

$tree = array (
    1 => array (
            2 => "A",
            3 => "B",
            4 => array (
                    6 => "D",
                    7 => array (
                            8 => "E",
                            9 => array (
                                    10 => "F",
                                    11 => "G" 
                            ) 
                    ) 
            ),

            5 => "C" 
    )
);

// Loop through $tree array
// Since you are assigning array to index 1, 
// Use $tree[1] instead of just $tree
foreach($tree[1] as $key => $value)
{
    // Pring key
    echo "Key {$key}: ";

    // Check key value type is array or not
    if (gettype($value) == 'array')
    {
        // if it's array data type call recursive function
        print_array($value);
    } 
    else
    {
        // just pring value
        echo "{$value}, ";
    }
    echo "\n";
}

// Recursive function
// Takes array as parameter
function print_array(array $array)
{
    // Loop through associative array in the form of key and value
    foreach($array as $key => $value)
    {
        // If the value is array data type or not
        if (gettype($value) != 'array')
        {
            // if true, just print the value
            echo "$value";
        }
        else
        {
            // call recursive function
            print_array($value);
        }
    }
}

下面是模式键1值A键3值B键4值D、E、F、G键5值C的答案

$tree = array (
    1 => array (
            2 => "A",
            3 => "B",
            4 => array (
                    6 => "D",
                    7 => array (
                            8 => "E",
                            9 => array (
                                    10 => "F",
                                    11 => "G" 
                            ) 
                    ) 
            ),

            5 => "C" 
    )
);

// Loop through $tree array
// Since you are assigning array to index 1, 
// Use $tree[1] instead of just $tree
foreach($tree[1] as $key => $value)
{
    // Pring key
    echo "Key {$key}: ";

    // Check key value type is array or not
    if (gettype($value) == 'array')
    {
        // if it's array data type call recursive function
        print_array($value);
    } 
    else
    {
        // just pring value
        echo "{$value}, ";
    }
    echo "\n";
}

// Recursive function
// Takes array as parameter
function print_array(array $array)
{
    // Loop through associative array in the form of key and value
    foreach($array as $key => $value)
    {
        // If the value is array data type or not
        if (gettype($value) != 'array')
        {
            // if true, just print the value
            echo "$value";
        }
        else
        {
            // call recursive function
            print_array($value);
        }
    }
}

写一个递归函数@你能解释一下如何编写递归函数吗?给出预期的输出also@Dan我想要的输出是,键1的值A,键3的值B,键4的值D,E,F,G和键5的值C写一个递归函数@你能解释一下如何编写递归函数吗?给出预期的输出also@Dan我想要的结果是,键1值A、键3值B、键4值D、E、F、G和键5值CI不擅长英语,因此我的解释可能会很复杂。我想要所有的父和子值。例子。。键1有一个子键4有6个子键所以我想要的输出是,键1值A键3值B键4值D,E,F,G键5值C@NyeinChan我已经按照你要求的方式发布了另一个答案。我的英语不好,所以我的解释可能会很复杂。我想要所有的父和子值。例子。。键1有一个子键4有6个子键所以我想要的输出是,键1值A键3值B键4值D,E,F,G键5值C@NyeinChan我已经按照你要求的方式发布了另一个答案。