繁体   English   中英

php动态函数列表

[英]php dynamic function for list

我试图使动态功能,用户可以在不添加<ul> <li>标记的情况下创建列表。

这是我的功能

function the_main_nav($navlinks){
        echo '<nav>';
        echo '<ul>';

        $menuitem = $navlinks;
        $pieces = explode(",",$menuitem);

        $i=$navlinks;
        while($i==','){ 
            echo '<li>' . $pieces[$i] . '</li>';
            $i++;
        }

        echo '</ul>';
        echo '</nav>';      
    }

这是我的模板标签the_main_nav('1,2,3,44 5');

但是它陷入了无休止的循环,并伴有错误。 我想在每个','逗号后自动生成<li> 另外,如果可能的话,我想在列表中添加锚链接,以便可以与页面链接。

代替while循环,使用foreach

foreach ( $pieces as $piece ) {
  echo '<li>' . $piece . '</li>';
}

是的,使用foreach可能很酷,但是您的错误出在逻辑视图中。 如果我看一下您的算法,则会看到:编写一些打开的标签,将参数存储到一个名为$ menuitem的新变量中,每次发现“”时都从$ menuitem创建一个数组,并将其存储在$ pieces中,将参数存储到一个新变量中现在称为$ i,而$ i等于char“,”(总是错误的)写我的子标签

之后写完结束标签。

您不设置阵列。 一个foreach循环会做到这一点。 但是要纠正您的代码,您必须了解$ i必须将数组的索引作为值,所以0,1,2,3 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM