如何修复数组到字符串转换引导PHP?

如何修复数组到字符串转换引导PHP?,php,mysql,bootstrap-4,Php,Mysql,Bootstrap 4,我想从数据库调用侧边栏菜单项,但当我将这些项从数据库放到中时,它会返回错误 <?php $a=0; foreach ($menu as $m ) { $data[$a]=$m->menu_name; // $menu .="<li class='active'><a href='#'><em class='fa fa-dash

我想从数据库调用侧边栏菜单项,但当我将这些项从数据库放到
  • 中时,它会返回错误

            <?php 
                $a=0;
                foreach ($menu as $m ) {
                    $data[$a]=$m->menu_name;
                    // $menu .="<li class='active'><a href='#'><em class='fa fa-dashboard'>&nbsp;</em> ".$m->menu_name."</a></li>";
                    $menu.="<li><a href ='#'>".$data[$a]."</a></li>";
                    // echo $m->menu_name;
                    $a++;
                }
    
    
            ?>
    
    
            <?php echo $menu; ?> 
    


    将数组中的数据转换为编码字符串很有帮助

    代码:

    $menu\u title=json\u encode($menu);
    


    在您的情况下变量名冲突。您有$menu变量,它是一个数组,然后再次将menu li元素指定给同一个变量。更改li元素的变量名,如

    <?php 
        $a=0;
        $menu1 = '';
        foreach ($menu as $m ) {
            $data[$a]=$m->menu_name;
            $menu1.="<li><a href ='#'>".$data[$a]."</a></li>";
           // $menu2.="<li><a href ='#'>".$m->menu_name;."</a></li>";
            $a++;
        }
    
    
    ?>
    
    
    <?php echo $menu1; ?> 
    

    应该是一个HTML字符串:
    $menu.=“
  • 您不需要对其进行编码。
    <?php 
    echo implode("",$memu);
    ?>
    
    <?php 
        $a=0;
        $menu1 = '';
        foreach ($menu as $m ) {
            $data[$a]=$m->menu_name;
            $menu1.="<li><a href ='#'>".$data[$a]."</a></li>";
           // $menu2.="<li><a href ='#'>".$m->menu_name;."</a></li>";
            $a++;
        }
    
    
    ?>
    
    
    <?php echo $menu1; ?>