我正在使用PHP创建动态导航,我想在PHP代码中插入PHP代码在<li>
上,我想在列表项中插入这行代码
<?php printf('<li' if (strpos($_SERVER['PHP_SELF'], 'index.php')) echo 'class="current"';>); printf('%s %s </a></li> ', $row['name'],$row['DESCRIPTION']); } ?>
这样不会更好(?
$content = "<li ";
if (strpos($_SERVER['PHP_SELF'], 'index.php')){
$content .= "class='current'";
}
$content .= "> </a></li>" . $row['name'] . " " . $row['description'];
试试这个方式:
<?php
$index = ((strpos($_SERVER['PHP_SELF'], 'index.php')) ? true : false);
printf('<li' . (($index) ? 'class="current"' : '' ) . '%s %s </a></li> ', $row['name'],$row['DESCRIPTION']);
?>
<?php
printf('<li' . (strpos($_SERVER['PHP_SELF'], 'index.php')) ? 'class="current"' : '' . '>');
printf('%s %s </a></li> ', $row['name'], $row['DESCRIPTION']);
?>
$is_current = '';
if(strpos($_SERVER['PHP_SELF'], 'index.php')){ $is_current = 'class="current"'; }
printf('<li'.$is_current.'>%s %s </a></li>', $row['name'],$row['DESCRIPTION']);
不完全清楚你在问什么,但我想你可以得到你想要的东西,以不同的方式写它,例如
<?php
echo "<li ";
if (strpos($_SERVER['PHP_SELF'], 'index.php')) {
echo ' class="current"';
}
// missing: '><a ...>'
printf(' %s %s </a></li> ', $row['name'], $row['DESCRIPTION']);
?>
(有一个没有开场{
的最终}
,我只是剥离了它,没有问自己是否必须是 if 缺失的开场{
的闭幕}
)。
或者,您可以使用?:
运算符。
为了在代码中得到良好的实践和最佳识别,请尝试以下操作:
if (strpos($_SERVER['PHP_SELF'], 'index.php')){
$class = "";
}else{
$class = "current";
}
printf('<li class="current"> %s %s </a></li>', $row['name'], $row['DESCRIPTION']);