私は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ステートメントがあると不平を言っています。
三項演算子を使用しますか?:
これを変える
<?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);
Ternary operator logic Ternary operator logicは、「(condition)?(true return value):(false return value)」ステートメントを使用してif/else構造を短くするプロセスです。つまり
/* most basic usage */
$var = 5;
$var_is_greater_than_two = ($var > 2 ? true : false); // returns true
このようなもの?
($var > 2 ? echo "greater" : echo "smaller")