如何在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我已经按照你要求的方式发布了另一个答案。