可以'如果X,那么echo X'可以在PHP中缩短吗?

Sli*_*liq 5 php

在PHP中的视图中回显东西的最短路径 - 当不使用模板引擎时 - 是这样的:

<?php if (!empty($x)) echo $x; ?>
Run Code Online (Sandbox Code Playgroud)

如需更深入的解释,为什么使用!empty是一个不错的选择,请看这里.

是否可以在不编写变量名两次的情况下编写它(就像在其他语言中一样)

!echo $x;
Run Code Online (Sandbox Code Playgroud)

要么

echo? $x;
Run Code Online (Sandbox Code Playgroud)

Rob*_*ill 3

内置?不。

但是 - 您可以编写自己的包装函数来执行此操作:

$x = 'foobar';
myecho($x); // foobar

function myecho($x) {
    echo !empty($x) ? $x : '';
}
Run Code Online (Sandbox Code Playgroud)

这符合“仅写入变量一次”的要求,但并没有给您提供与 echo 命令一样多的灵活性,因为这是一个使用 echo 的函数,因此您不能执行以下操作:(myecho($x . ', '. $y)参数是现在总是定义的并且一旦命中就不为空myecho()

  • @VitalyChirkov 我想说,如果我看到致命错误,最好进行调试,然后调用一个不是我认为的函数;) (2认同)