在 HTML 表中包含 if 语句

新手上路,请多包涵

我想在呈现 HTML 表格的 PHP 代码中包含一个 if 语句。输出也应该在表格行中。

 echo '<table style="border:1px solid red;">',
 '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>',
 if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>',
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>',
echo "\t";
}
 '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>
</table>';
?>

我这样试过,但有一些错误。

原文由 Robster 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 693
2 个回答

使用 echo ,字符串可以用逗号分隔(即 , )。但是,当需要附加逻辑时,必须终止 echo 语句。为此使用分号(即 ; )。

 echo '<table style="border:1px solid red;">',
    '<tr align="center" ><td><div class="item-font1">', $mounts['name'],
    '</div></td>
     </tr>'; //use a semi-colon here to end the call to echo

if ($itembind == 1) {

与在 C 或 Perl 中一样,PHP 要求指令在每个语句末尾以分号结束。一段 PHP 代码的结束标记自动隐含一个分号;您不需要用分号来结束 PHP 块的最后一行。 1个

虽然将多个字符串传递给 echo 是可以接受的,但可以将这些字符串连接成一个。为此,请使用 点运算符

所以更新这一行(开头缺少 echo ):

 '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div>
</td></tr></table>';

echo '<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div>
</td></tr></table>';

最终输出:

 <?php
$mounts = ['name'=>'cat'];
$itembind = 1;
echo '<table style="border:1px solid red;">',
 '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>';
 if ($itembind == 1) {
    echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>';
} elseif ($itembind== 2) {
    echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>';
echo "\t";
}
 echo '<tr align="center" ><td><div class="item-font1">', $mounts['name'], '</div></td>
</tr>
</table>';
?>

请参阅 此 playground 示例 中的更新代码演示。


1http://php.net/manual/en/language.basic-syntax.instruction-separation.php

原文由 Sᴀᴍ Onᴇᴌᴀ 发布,翻译遵循 CC BY-SA 3.0 许可协议

您正在使用 , 而不是 . 。还需要在您的 echo 末尾添加 ;

 <?php

$mounts['name'] = 'yyy';
$itembind = 1;
echo '<table style="border:1px solid red;">',
 '<tr align="center" ><td><div class="item-font1">'. $mounts['name']. '</div></td>
</tr>';
 if ($itembind == 1) {
echo '<tr align="center" ><td><div class="item-font1">Text1</div></td>
</tr>';
} elseif ($itembind== 2) {
echo '<tr align="center" ><td><div class="item-font1">Text2</div></td>
</tr>';
echo "\t";
}
 '<tr align="center" ><td><div class="item-font1">'.$mounts['name'].'</div></td>
</tr>
</table>';
?>

原文由 Yogendrasinh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏