我试图根据我将要显示的变量的值设置我的li元素的位置。出于某种原因,这似乎不起作用。有人看到我的代码有什么问题吗?感谢
echo "<li class=\"compensation_post posts_values\" if($compensation == \"Free\") {style=\"left: 540px;\"}>$compensation</li>";
答案 0 :(得分:3)
PHP可以用双引号字符串解析变量,但不能解析条件。因此,您需要通过以下两种方式之一来解决这个问题:
分居:
$style = '';
if ($compensation == "Free")
$style = " style=\"left:540px;\"";
echo "<li class=\"compensation_post posts_values\"$style>$compensation</li>";
或直播:
echo "<li class=\"compensation_post posts_values\" "
. ($compensation == "Free" ? "style=\"left:540px;" : "")
. ">$compensation</li>";
我想你也可以进出php代码,如:
?><li class=\"compensation_post posts_values\" <?= ($compensation == "Free" ? "style=\"left:540px;\"" : ""); ?>>$compensation</li>
答案 1 :(得分:0)
您不能使用这样的if语句。相反,你可以使用速记if。这样的事情应该有效:
echo "<li class=\"compensation_post posts_values\"" . (($compensation == 'Free') ? 'style=\"left: 540px;\" : '') . ">$compensation</li>";
或者,你可以这样做:
if ($compensation == 'Free')
$style = 'style="left: 540px;"';
echo "<li class=\"compensation_post posts_values\" $style>$compensation</li>";