2014-01-06 101 views
0

我使用PHP創建動態導航,並且我想在<li>上的php代碼 中插入一個php代碼,我想將這行代碼插入列表項如何在回聲中打印PHP行

<?php printf('<li' if (strpos($_SERVER['PHP_SELF'], 'index.php')) echo 'class="current"';>); printf('%s %s </a></li> ', $row['name'],$row['DESCRIPTION']); } ?> 

回答

0

會不會是這個樣子更好的(?):

$content = "<li "; 
if (strpos($_SERVER['PHP_SELF'], 'index.php')){ 
    $content .= "class='current'"; 
} 
$content .= "> </a></li>" . $row['name'] . " " . $row['description']; 
0

試試這個方法:

<?php 
$index = ((strpos($_SERVER['PHP_SELF'], 'index.php')) ? true : false); 
printf('<li' . (($index) ? 'class="current"' : '') . '%s %s </a></li> ', $row['name'],$row['DESCRIPTION']); 
?> 
0
<?php 
printf('<li' . (strpos($_SERVER['PHP_SELF'], 'index.php')) ? 'class="current"' : '' . '>'); 
printf('%s %s </a></li> ', $row['name'], $row['DESCRIPTION']); 
?> 
0
$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']); 
0

不完全清楚你在問什麼,但我想你可以得到你想要寫的不同的東西,例如,

<?php 
    echo "<li "; 
    if (strpos($_SERVER['PHP_SELF'], 'index.php')) { 
     echo ' class="current"'; 
    } 
    // missing: '><a ...>' 
    printf(' %s %s </a></li> ', $row['name'], $row['DESCRIPTION']); 
?> 

(有一個最終}沒有開口{,我只是剝離它,不問自己,如果它必須的,如果缺少的開始{收盤})。

或者您可以使用?:運算符。

0

爲了獲得良好的pratices並在代碼中最好的識別,試試這個:

if (strpos($_SERVER['PHP_SELF'], 'index.php')){ 
    $class = ""; 
}else{ 
    $class = "current"; 
} 
printf('<li class="current"> %s %s </a></li>', $row['name'], $row['DESCRIPTION']);