簡體   English   中英

如何在echo中打印PHP行

[英]How to print PHP line inside echo

我正在使用PHP創建動態導航,並且我想在<li>上的php代碼中插入php代碼,我想在列表項中插入這行代碼

<?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']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM