简单php代码不使用三元运算符

简单php代码不使用三元运算符,php,ternary-operator,Php,Ternary Operator,对于三元运算符,我是个新手,以前从未使用过 代码(简化了) $output2=' 测试文本1 '.(1 == 1) ? “是”:“否” 测试文本2 '; echo$output2; 所以问题是,这段代码只输出“yes”(只有正确或错误的if语句) 我尝试了“相同的问题,尝试了不同的条件,尝试了只输出它,没有变量。但问题依然存在 多谢各位 Sebastjan将三元if用括号括起来,即 $output2 = ' <div> <div> <spa

对于三元运算符,我是个新手,以前从未使用过

代码(简化了)

$output2='
测试文本1
'.(1 == 1) ? “是”:“否”
测试文本2
';
echo$output2;
所以问题是,这段代码只输出“yes”(只有正确或错误的if语句)

我尝试了
相同的问题,尝试了不同的条件,尝试了只输出它,没有变量。但问题依然存在

多谢各位


Sebastjan

将三元
if
用括号括起来,即

$output2 = '
<div>
    <div>
        <span>test text1</span>
        <div>
            '.((1 == 1) ? "yes" : "no") .'
            <span>test text 2</span>
        </div> 
    </div>
</div>';
echo $output2;
$output2='
测试文本1
“((1==1)?“是”:“否”)”
测试文本2
';
echo$output2;

在php中,三元运算符的行为异常,在您的情况下:

(1 == 1) ? "yes" : "no" .'<span>test text 2</span>...' 
答案是正确的,但我会更进一步,从字符串中删除三元

$ternary = ($something == $somethingElse) ? "yes" : "no";

// Double brackets allows you to echo variables
//  without breaking the string up.
$output = "<div>$ternary</div>";

echo $output;
三元=($something==$somethingElse)?“是”:“否”;
//双括号允许您回显变量
//不把绳子断开。
$output=“$TRINARY”;
echo$输出;
这样做更易于维护和重用



下面是三元运算符的示例。如果你使用得当,它们会非常强大。

。。1实际上等于1,所以应该返回
yes
。是的,但它只返回“yes”和“no”“test text1”和“test text2”啊,我现在明白你的意思了。
((1 == 1) ? "yes" : "no") .'<span>test text 2</span>...' // works correctly
$ternary = ($something == $somethingElse) ? "yes" : "no";

// Double brackets allows you to echo variables
//  without breaking the string up.
$output = "<div>$ternary</div>";

echo $output;