我会第一个承认PHP不是我的强项,而且这个数组开始让我疯狂。如何枚举多维关联数组?
这是我试图枚举数组:
// array containing the site menu
$sitemap = array(
array('Title' => 'menu01',
'Description' => 'menu01_description',
'Address' => 'http://localhost/site.php?page=menu01',
),
array('Title' => 'menu02',
'Description' => 'menu02_description',
'Address' => 'http://localhost/site.php?page=menu02',
),
array('Title' => 'menu03',
'Description' => 'menu03_description',
'Address' => 'http://localhost/site.php?page=menu03',
)
);
现在,我,我需要使用foreach循环来列举我的数组内容的前提下进行操作。
这是我目前试图实现的功能,但它一直返回一个错误,指出我的参数无效。
function GenerateMenu(){
$output = "<ul>";
foreach ($sitemap as $menuitem => $value){
if ($page == $value["Title"]){
$output .= '<li class="active">';
}
else {
$output .= '<li>';
}
$output .= '<a href="' . $value['Address'] . '">' . $value['Description'] . '</a><li>';
}
$output .= "</ul>";
return $output;
}
为什么我的论点无效?什么最好的方式来打印我的阵列?
$ page和$ sitemap在哪里定义?不应该将它们传递给你的函数吗? Wow; – dnagirl 2009-10-02 13:57:02
哇;在发布此消息后大约45秒回答了我自己的问题。 我没有将数组$ sitemap传递给GenerateMenu。该数组不在函数的范围内,所以没有数组$ sitemap来遍历。 – 2009-10-02 13:57:18