2014-01-16 34 views
0

请帮忙,我搞清楚如何循环这个特定的HTML和PHP代码。我在这里储存。For循环使用php与html

for($x=1; $x<=10; $x++) 
{ 
<li <?php if (strpos($_SERVER['PHP_SELF'], $navserver[$x])) 
echo 'class="active"';?>><?  php echo '<a href="'.$navlink[$x].'">', 
$navdesc[$x] ?></a></li> 
} 

回答

1

试试这个

<?php for($x=1; $x<=10; $x++) : ?> 
    <li <?php if (strpos($_SERVER['PHP_SELF'], $navserver[$x])) echo 'class="active"';?>> 
     <?php echo '<a href="'.$navlink[$x].'">' . $navdesc[$x] . '</a>'; ?> 
    </li> 
<?php endfor; ?> 

一些错别字PHP代码。你可以看到这篇回声手册,了解更多的了解http://bd1.php.net/echo

+0

工作!谢谢! – user3196424

+0

欢迎,如果它的工作,你可以接受这个答案或任何其他正确的答案以及。 – sas

+0

@crack,strpos可能返回0,在这种情况下,它不会回显类激活 – raj

0

希望这有助于:

<?php 
for($x=1; $x<=10; $x++){ 
?> 
<li  
    <?php 
    if (strpos($_SERVER['PHP_SELF'], $navserver[$x])) { echo 'class="active"'; } 
    ?> 
> 
    <a href="<?php echo $navlink[$x];?> "><?php echo $navdesc[$x] ?></a> 

</li> 

<?php } ?> 

你有错PHP语法,PHP标签里面不必要的HTML。

现在代码被清理了。

0

你可以试试这个,

for($x=1; $x<=10; $x++) 
    { 
     $Active =""; 
     if(strpos($_SERVER['PHP_SELF'], $navserver[$x])){ 
      $Active = 'class="active"'; 
     } 
     echo '<li '.$Active.'> <a href="'.$navlink[$x].'">',$navdesc[$x].'</a></li>'; 
    } 
+0

啊你读我的心灵哈哈,为更好的版本+1 –

0

试试这个它将使容易你

<?php 
for($x=1; $x<=10; $x++) 
{ 
    $class_text = ""; 
    if(strpos($_SERVER['PHP_SELF'], $navserver[$x])) 
    { 
     $class_text = 'class="active"'; 
    } 

?> 
    <li <?php echo $class_text;?>><a href="<?php echo $navlink[$x];?>" ><?php echo $navdesc[$x];?></a></li> 
<?php 
} 
?> 

更新:2 或使用也可以使用下面的代码

<?php 
for($x=1; $x<=10; $x++) 
{ 
    $class_text = ""; 
    if(strpos($_SERVER['PHP_SELF'], $navserver[$x])) 
    { 
     $class_text = 'class="active"'; 
    } 
    echo '<li '.$class_text.'><a href="'.$navlink[$x].'" >'.$navdesc[$x].'</a></li>'; 
} 
?>