是否有一种简洁的方法来检查变量是否已设置,然后回显它而不重复相同的变量名称?
而不是这个:
<?php
if(!empty($this->variable)) {
echo '<a href="', $this->variable, '">Link</a>';
}
?>
我正在考虑这个 C 风格伪代码中的一些内容:
<?php
echo if(!empty($this->variable, '<a href="', %s, '">Link</a>'));
?>
PHP has sprintf http://www.php.net/manual/en/function.sprintf.php,但它并没有完全达到我的期望。如果我当然可以用它制作一个方法/函数,但肯定有一种方法可以“本地”完成它?
更新:
三元运算也会重复$this->variable
部分,如果我理解的话?
echo (!empty($this->variable) ? '<a href="',$this->variable,'">Link</a> : "nothing");
最接近您要查找的内容的是使用三元运算符的缩写形式(自 PHP5.3 起可用)
echo $a ?: "not set"; // will print $a if $a evaluates to `true` or "not set" if not
但这会触发“未定义变量”通知。你显然可以用它来抑制@
echo @$a ?: "not set";
不过,这不是最优雅/最干净的解决方案。
因此,您可以期望的最干净的代码是
echo isset($a) ? $a: '';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)