PHP 中的一行 if 语句

2022-08-30 09:49:44

我想做一些类似于JavaScript的东西

var foo = true;
foo && doSometing();

但这在PHP中似乎不起作用。

如果满足条件,我正在尝试向标签添加一个类,并且为了可读性,我更愿意将嵌入式PHP保持在最低限度。

到目前为止,我已经得到了:

<?php $redText='redtext ';?>
<label class="<?php if ($requestVars->_name=='')echo $redText;?>labellong">_name*</label>
<input name="_name" value="<?php echo $requestVars->_name; ?>"/>

但即便如此,IDE也在抱怨我有一个没有大括号的if语句。


答案 1

使用三元运算符 ?:

更改此

<?php if ($requestVars->_name == '') echo $redText; ?>

<?php echo ($requestVars->_name == '') ? $redText : ''; ?>

总之

// (Condition)?(thing's to do if condition true):(thing's to do if condition false);

答案 2

可以使用三元运算符逻辑 三元运算符逻辑是使用“(条件)?(true return value) : (false return value)“ 语句来缩短 if/else 结构。即

/* most basic usage */
$var = 5;
$var_is_greater_than_two = ($var > 2 ? true : false); // returns true

推荐