<?php
$s1="";$s2="qwe";$s3="zxc";
if(!empty($s1))
{
$result=$s1;
}
else
{
if(!empty($s2))
{
$result=$s2;
}
else
{
$result=$s3;
}
}
echo "$result";
?>
是否有任何可能的代码,可能是1-2行,替换上面提到的代码,我记得像使用“或”运算符来执行我正在使用此代码执行的操作。
答案 0 :(得分:6)
$result = $s1 ? $s1 : ($s2 ? $s2 : $s3);
甚至更短,如果你有PHP&gt; 5.3:
$result = $s1 ?: ($s2 ?: $s3);
答案 1 :(得分:1)
尝试使用条件赋值运算符:
$result = !empty($s1) ? $s1 : ( !empty($s2) ? $s2 : $s3 );
答案 2 :(得分:1)
$result = $s1 ? $s1 : ($s2 ? $s2 : $s3);
为什么要用这个?
因为它减少了程序的复杂性
注意:从左到右评估三元运算符。因此,如果您没有正确地对表达式进行分组,您将得到意外的结果
答案 3 :(得分:0)
使用此代码:
<?
$s1="";
$s2="qwe";
$s3="zxc";
echo $result = ($s1!="") ? $s1 : ( ($s2!="") ? $s2 : $s3);
?>
输出: QWE
这是三元运营商。如果$ s1为非空,则返回$ s1,否则再次检查$ s2的条件,如果它也为空,则返回$ s3。