Php 无法重新声明RecursiveCategories()错误

Php 无法重新声明RecursiveCategories()错误,php,function,Php,Function,我有一个php脚本: <?php $categories = $this->requestAction('categories/topmenu'); function RecursiveCategories($array) { if (count($array)) { foreach ($array as $category) { if (count($ca

我有一个php脚本:

<?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); ?>

我得到这个错误:

致命错误:无法在中重新声明RecursiveCategories()(以前在:36中声明)。。。第64行


您已经通过Include语句或其他文件包含了相同的函数定义,这就是为什么会出现这个问题。 使用以下命令: if (!function_exists('RecursiveCategories')) { function RecursiveCategories($array) { //code goes here } } 如果(!function_存在('RecursiveCategories')){ 函数RecursiveCategories($array) { //代码在这里 } }


建议:在lib文件中添加所有函数,并使用include_once命令包含lib.php文件。

是否包含php文件?是的,包含php文件您可能多次包含该文件,这可能是问题所在。我不知道如何修复它(抱歉,我不会说英语)。请共享您的完整代码。