注意:未定义的开关数组中的偏移量错误
这是我的PHP代码菜单与选择。 它的工作有错误,请帮助我。注意:未定义的开关数组中的偏移量错误
CODE
<?php
$page_url = array();
$page_url[0]= "/bookslibrary.net/index.php";
$page_url[1]= "/bookslibrary.net/about.php";
$page_url[2]= "#";
$page_url[3]= "/bookslibrary.net/become-member.php";
$page_url[4]= "#";
$page_url[5]= "/bookslibrary.net/contact.php";
$page_urlActive = array();
$css_active = "class='active'";
switch ($_SERVER['PHP_SELF'])
{
case $page_url[0]: $page_urlActive[0] = $css_active; break;
case $page_url[1]: $page_urlActive[1] = $css_active; break;
case $page_url[2]: $page_urlActive[2] = $css_active; break;
case $page_url[3]: $page_urlActive[3] = $css_active; break;
case $page_url[4]: $page_urlActive[4] = $css_active; break;
case $page_url[5]: $page_urlActive[5] = $css_active; break;
} echo ("
<li $page_urlActive[0] ><a href='".$page_url[0]."'>Home</a></li>
<li $page_urlActive[1] ><a href='".$page_url[1]."'>About</a></li>
<li $page_urlActive[2] ><a href='".$page_url[2]."'>Books of the Month</a></li>
<li $page_urlActive[3] ><a href='".$page_url[3]."'>Become a Member</a></li>
<li $page_urlActive[4] ><a href='".$page_url[4]."'>Ahlus-Sunnah</a>
<ul>
<li><a href='#'>Web Directory</a></li>
<li><a href='#'>Add Your Website</a></li>
</ul>
</li>
<li $page_urlActive[5] ><a href='".$page_url[5]."'>Contact</a></li>
");
?>
ERROR
注意:未定义偏移量:在(... FILE_PATH ...)的header.php 1在线路34上
$page_urlActive
您的$page_urlActive
只包含一个项目,一个关键取决于您所在的页面。而你正试图呼应所有索引的元素,你可以通过initializng阵列的所有索引摆脱这种通知:
$page_urlActive = array_fill(0, 6, '');
非常感谢。 –
问题已根据您的建议解决。 –
的问题是可能不会根据活动页面设置$page_urlActive
的特定索引(0-5)。
更好的方法是重构代码以遍历$page_url
数组。在循环测试中,如果当前的$page_url
等于请求的页面。如果是,则输出适当的class
属性。这将删除大量不必要的代码(例如switch
,$page_urlActive
)。
虽然我提倡简洁的代码,在这一天结束,这仅仅是一个通知而不是硬性错误。
现在我该怎么办? –
没有线路34时发布的代码和行参考,做一些突出线。像代码评论一样。 –
第34行是:
您是否检查'$ page_urlActive [1]'是否在事实集? –