2016-09-21 2 views
-1

у меня есть этот скрипт:Не может переобъявить RecursiveCategories() Ошибка

<?php $categories = $this->requestAction('categories/topmenu'); 
    function RecursiveCategories($array) 
    { 
     if (count($array)) 
     { 
      foreach ($array as $category) 
      { 
       if (count($category['children'])) 
       { 
        echo '<li >'; 
        echo '<a href="/v-n/'.$category['Category']['id'].'-'.$category['Category']['slug'].'" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">'; 
        echo '<div class="sub-menu">'.$category['Category']['name'].'</div>'; 
        echo '</a>'; 
        echo '<div class="tn-gnavsub">'; 
        echo '<div class="gnavsub">'; 
        echo '<ul class="menufix">'; 
        RecursiveCategories($category['children']); 
        echo '</ul>'; 
        echo '</div>'; 
        echo '</div>'; 
        echo '</li>'; 
       } 
       else 
       { 
        echo '<li><a href="/v-n/'.$category['Category']['id'].'-'.$category['Category']['slug'].'"> '.$category['Category']['name'].'</a></li>'; 
       } 
      } 
     } 

    } 
?> 
<?php RecursiveCategories($categories); ?> 

Я получаю эту ошибку:

Fatal error: Cannot redeclare RecursiveCategories() (previously declared in :36) in... on line 64

+0

Вы включили файл php? – developer

+0

yes include php file –

+0

Вы можете включить файл более одного раза, то есть может быть проблема – developer

ответ

0

Вы включили такое же определение функции через Include заявления или какой-либо другой файл, так вот почему у вас возникла эта проблема. использовать следующее:

 
    if (!function_exists('RecursiveCategories')) { 
     function RecursiveCategories($array) 
     { 
     //code goes here 
     } 
    } 

Рекомендовано: добавить все функции внутри Lib файл и использовать include_once команду включить файл lib.php.

Смежные вопросы