html 中的 php 变量没有其他方式:<?php 回声 $var; ?>

2022-08-30 08:32:52

我在混合HTML和PHP中工作很多,大多数时候我只想要一些PHP变量的可靠HTML,所以我的代码看起来像这样:

<tr><td> <input type="hidden" name="type" value="<?php echo $var; ?>" ></td></tr>

这很丑陋。难道没有更短的东西,更像下面吗?

<tr><td> <input type="hidden" name="type" value="$$var" ></td></tr>

这是可能的,但你陷入了(你必须把它们全部替换为)和布局消失了""''

echo "<tr><td> <input type="hidden" name="type" value="$var" ></td></tr>"

还有比这更好的吗?


答案 1

有一个代码的短标签版本,尽管其他方面有过时的建议,但现在完全可以接受使用它

<input type="hidden" name="type" value="<?= $var ?>" >

这(在 PHP 5.4 之前)需要在 php 配置中启用短标签。它的功能与您键入的代码完全相同;这些行在其内部实现中实际上是相同的:

<?= $var1, $var2 ?>
<?php echo $var1, $var2 ?>

这就是内置解决方案的意义所在。有很多第三方模板库可以更轻松地在输出中嵌入数据,smarty是一个很好的起点。


答案 2

使用 HEREDOC 语法。您可以将单引号和双引号,变量甚至函数调用与未更改/未转义的html标记混合在一起。

echo <<<MYTAG
  <tr><td> <input type="hidden" name="type" value="$var1" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var2" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var3" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var4" ></td></tr>
MYTAG;

推荐