Php CSS样式的if/else语句没有响应

Php CSS样式的if/else语句没有响应,php,css,Php,Css,我试图根据要显示的变量的值设置li元素的位置。出于某种原因,这似乎不起作用。有人看到我的代码有什么问题吗?谢谢 echo "<li class=\"compensation_post posts_values\" if($compensation == \"Free\") {style=\"left: 540px;\"}>$compensation</li>"; echo“$compensation”; PHP可以解析双引号字符串中的变量,但不能解析条件。因此,您需要通

我试图根据要显示的变量的值设置li元素的位置。出于某种原因,这似乎不起作用。有人看到我的代码有什么问题吗?谢谢

echo "<li class=\"compensation_post posts_values\" if($compensation == \"Free\") {style=\"left: 540px;\"}>$compensation</li>";
echo“
  • $compensation
  • ”;
    PHP可以解析双引号字符串中的变量,但不能解析条件。因此,您需要通过以下两种方式之一解决此问题:

    分开的:

    $style = '';
    if ($compensation == "Free")
      $style = " style=\"left:540px;\"";
    echo "<li class=\"compensation_post posts_values\"$style>$compensation</li>";
    
    $style='';
    如果($compensation==“Free”)
    $style=“style=\”左:540px\"";
    echo“
  • $compensation
  • ”;
    或在线:

    echo "<li class=\"compensation_post posts_values\" "
       . ($compensation == "Free" ? "style=\"left:540px;" : "")
       . ">$compensation</li>";
    
    echo“
  • 预编码?>您不能使用这样的if语句。相反,您可以使用缩写if。类似这样的语句应该可以:

    echo“
  • $compensation
  • ”;

    或者,您可以这样做:

    if($compensation=='Free')
    $style='style=“左:540px;“;
    echo“
  • $compensation
  • ”;

    ?><li class=\"compensation_post posts_values\" <?= ($compensation == "Free" ? "style=\"left:540px;\"" : ""); ?>>$compensation</li>