注意:未定义的开关数组中的偏移量错误

问题描述:

这是我的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上

+0

没有线路34时发布的代码和行参考,做一些突出线。像代码评论一样。 –

+0

第34行是:

  • About
  • +0

    您是否检查'$ page_urlActive [1]'是否在事实集? –

    $page_urlActive您的$page_urlActive只包含一个项目,一个关键取决于您所在的页面。而你正试图呼应所有索引的元素,你可以通过initializng阵列的所有索引摆脱这种通知:

    $page_urlActive = array_fill(0, 6, ''); 
    
    +0

    非常感谢。 –

    +0

    问题已根据您的建议解决。 –

    的问题是可能不会根据活动页面设置$page_urlActive的特定索引(0-5)。

    更好的方法是重构代码以遍历$page_url数组。在循环测试中,如果当前的$page_url等于请求的页面。如果是,则输出适当的class属性。这将删除大量不必要的代码(例如switch$page_urlActive)。

    虽然我提倡简洁的代码,在这一天结束,这仅仅是一个通知而不是硬性错误

    +0

    现在我该怎么办? –