我會第一個承認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