2016-01-22 4 views
-2

Я хочу удалить последний разделитель после входа в Меню. Вот мой код и вывод.Удалить разделитель последнего меню

   <?php 
       if (!empty($topmenu) && !empty($menulist)) { 
        foreach ($topmenu as $mainparent) { 
         $arry = getmenuvalue($mainparent->id, $menulist, MAINURL); 
         if (isset($mainparent->children) && !empty($mainparent->children)) { 
          echo '<li class="dropdown"> <a href="' . $arry['url'] . '" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">' . $arry['name'] . '<span class="caret"> </span></a>'; 

          echo '</li>'; 
          echo '<li> | </li>'; 
         } else { 
          echo '<li><a href="' . $arry['url'] . '">' . $arry['name'] . '</a></li>'; 
          echo '<li> | </li>'; 
         } 
        } 
       } 
       ?> 

Результат этого кода

Home | Register | Login | 

Я хочу, чтобы удалить последний разделитель после меню входа в систему. Я хочу, чтобы результат был таким.

Home | Register | Login 
+0

использовать длину массива в получить последний элемент и код wirte ('echo '

  • |
  • ';') с условием –

    +0

    Если это не последний элемент массива, тогда напечатайте echo '

  • |
  • '; else '' http://stackoverflow.com/questions/14701286/php-remove-comma-from-the-last-loop –

    +0

    дайте мне код i am student –

    ответ

    1

    Try This

    <?php 
           if (!empty($topmenu) && !empty($menulist)) { 
            $count = count($topmenu); 
            $i = 1; 
            foreach ($topmenu as $mainparent) { 
    
             $arry = getmenuvalue($mainparent->id, $menulist, MAINURL); 
             if (isset($mainparent->children) && !empty($mainparent->children)) { 
    
              echo '<li class="dropdown"> <a href="' . $arry['url'] . '" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">' . $arry['name'] . '<span class="caret"> </span></a>'; 
    
              echo '</li>'; 
              if($count != $i) 
              echo '<li> | </li>'; 
             } else { 
              echo '<li><a href="' . $arry['url'] . '">' . $arry['name'] . '</a></li>'; 
              if($count != $i) 
              echo '<li> | </li>'; 
             } 
            $i++; 
            } 
           } 
           ?> 
    
    1

    Вы можете последовать этому примеру:

    <? 
    $array = array('One','Two','Three'); // your array 
    
    $count = count($array); // check the array count 
    $i = 1; // use incremental 
    foreach ($array as $value) { 
        $separator = ($i == $count ? '' : '|'); // compare if last index use empty else separator 
        echo $value. $separator; // print separator with value 
        $i++; // +1 in every iteration. 
    } 
    ?> 
    

    Результат:

    One|Two|Three 
    

    UPDATE 1:

    Пример с кодом

    <? 
    if (!empty($topmenu) && !empty($menulist)) { 
    
        $count = count($topmenu); 
        $i = 1; 
        foreach ($topmenu as $mainparent) { 
         $arry = getmenuvalue($mainparent->id, $menulist, MAINURL); 
         if (isset($mainparent->children) && !empty($mainparent->children)) { 
          echo '<li class="dropdown"> <a href="' . $arry['url'] . '" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">' . $arry['name'] . '<span class="caret"> </span></a>'; 
    
          echo '</li>';    
         } else { 
          echo '<li><a href="' . $arry['url'] . '">' . $arry['name'] . '</a></li>'; 
          //echo '<li> | </li>'; 
         } 
         if($i == $count ? '' : '<li> | </li>'); 
         $i++; 
        } 
    } 
    ?> 
    

    Side Примечание:

    Я не уверен насчет $topmenu проверки count($topmenu); если вы получаете счетчик будет работать. Попробуй.

    +0

    интегрируйте этот код в мой код, пожалуйста @devpro –

    +0

    @KevinPatel: :) проверяя ваш код. – devpro

    +0

    @KevinPatel: обновлен код, попробуйте – devpro

    0

    Вы можете получить список ваших предметов и CONCAT их с помощью implode метод:

    <?php 
        if (!empty($topmenu) && !empty($menulist)) { 
    
         $listItems = array(); 
         foreach ($topmenu as $mainparent) { 
          $arry = getmenuvalue($mainparent->id, $menulist, MAINURL); 
          if (isset($mainparent->children) && !empty($mainparent->children)) { 
           $listItems[] = '<li class="dropdown"> <a href="' . $arry['url'] . '" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">' . $arry['name'] . '<span class="caret"> </span></a></li>'; 
          } else { 
           $listItems[] = '<li><a href="' . $arry['url'] . '">' . $arry['name'] . '</a></li>'; 
          } 
         } 
    
         echo implode('<li> | </li>', $listItems); 
        } 
    ?> 
    
    0

    Вы можете сделать что-то вроде этого

    <?php 
        if (!empty($topmenu) && !empty($menulist)) { 
         foreach ($topmenu as $key => $mainparent) { 
          $arry = getmenuvalue($mainparent->id, $menulist, MAINURL); 
          if (isset($mainparent->children) && !empty($mainparent->children)) { 
           echo '<li class="dropdown"> <a href="' . $arry['url'] . '" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">' . $arry['name'] . '<span class="caret"> </span></a>'; 
    
           echo '</li>'; 
           //echo '<li> | </li>'; 
          } else { 
           echo '<li><a href="' . $arry['url'] . '">' . $arry['name'] . '</a></li>'; 
           //echo '<li> | </li>'; 
          } 
    
          end($topmenu); 
          if ($key !== key($topmenu)) { 
           echo '<li> | </li>'; 
          } 
    
         } 
        } 
    ?> 
    
    Смежные вопросы