Php 打印一维、二维和三维数组组合的值
我有多维数组的组合,但我无法在屏幕上打印出正确的值Php 打印一维、二维和三维数组组合的值,php,arrays,multidimensional-array,foreach,php-5.3,Php,Arrays,Multidimensional Array,Foreach,Php 5.3,我有多维数组的组合,但我无法在屏幕上打印出正确的值 $parent = array( array( 'function_name' => 'home', 'screen_name' => 'Home' ), array( 'function_name' => 'categories', 'screen_name' => 'Categories', arra
$parent = array(
array(
'function_name' => 'home',
'screen_name' => 'Home'
),
array(
'function_name' => 'categories',
'screen_name' => 'Categories',
array(
'function_name' => 'post',
'screen_name' => 'Post',
)
),
array(
'function_name' => 'pages',
'screen_name' => 'Pages',
array(
'function_name' => 'add',
'screen_name' => 'Add',
array(
'function_name' => 'manage',
'screen_name' => 'Manage'
)
)
)
);
有些数组本身,有些带有sub数组,有些子数组具有subsub数组
foreach($parent as $index => $item)
{
echo 'parent - '.$item['screen_name'].'<br/>';
foreach($item as $child)
{
echo 'child - '.$child['screen_name'].'<br/>';
foreach($child as $grandchild)
{
echo 'grandchild - '.$grandchild['screen_name'].'<br/>';
}
}
}
我想要的结果是这样的
parent - Home
parent - Categories
child - Post
parent - Pages
child - Add
grandchild - Manage
编辑:
我试过下面的测试
foreach ($system as $inner_1) {
if (is_array($inner_1))
{
foreach ($inner_1 as $inner_2)
{
if (is_array($inner_2))
{
foreach ($inner_2 as $inner_3)
{
var_dump($inner_3['function_name']);
}
}
}
}
}
但我得到了一个奇怪的结果
string 'p' (length=1) // don't know why I get this.
string 'P' (length=1) // don't know why I get this.
string 'a' (length=1) // don't know why I get this.
string 'A' (length=1) // don't know why I get this.
string 'manage' (length=6) // correct result.
在$parent[1]
上运行foreach($item as$child)
时,$child
会获取以下值:'home'
,'home'
和一个数组
让数组保持纯粹的关联性怎么样
$parent = array(
array(
'function_name' => 'categories',
'screen_name' => 'Categories',
'children' => array(
array(
'function_name' => 'post',
'screen_name' => 'Post'
),
array(
'function_name' => 'review',
'screen_name' => 'Review',
'children' => array(
...
)
),
)
)
);
通过这种方式,您可以运行
foreach($item['children']作为$child)
知道参数是一个数组(您需要确保$item['children']
存在并且是一个数组)。谢谢您的建议,但是家长通常有多个孩子,这行吗?@lauthiamkok:我的错误-我修复了我的帖子。
$parent = array(
array(
'function_name' => 'categories',
'screen_name' => 'Categories',
'children' => array(
array(
'function_name' => 'post',
'screen_name' => 'Post'
),
array(
'function_name' => 'review',
'screen_name' => 'Review',
'children' => array(
...
)
),
)
)
);