【问题标题】:How to print PHP line inside echo如何在 echo 中打印 PHP 行
【发布时间】:2014-01-06 12:28:05
【问题描述】:

我正在使用 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']); } ?>

【问题讨论】:

    标签: php html mysql css navigation


    【解决方案1】:

    这样会不会更好(?):

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

    【讨论】:

      【解决方案2】:

      试试这个方法:

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

      【讨论】:

        【解决方案3】:
        <?php
        printf('<li' . (strpos($_SERVER['PHP_SELF'], 'index.php')) ? 'class="current"' : '' . '>');
        printf('%s %s </a></li> ', $row['name'], $row['DESCRIPTION']);
        ?>
        

        【讨论】:

          【解决方案4】:
          $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']);
          

          【讨论】:

            【解决方案5】:

            不完全清楚你在问什么,但我想你可以得到你想要的不同写法,例如

            <?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 的缺失开头{ 的结尾})。

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

            【讨论】:

              【解决方案6】:

              为了在您的代码中获得良好的实践和最佳识别,试试这个:

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-12-03
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-10-07
                • 2012-11-24
                相关资源
                最近更新 更多