<?php
$s1="";$s2="qwe";$s3="zxc";
if(!empty($s1))
{
$result=$s1;
}
else
{
if(!empty($s2))
{
$result=$s2;
}
else
{
$result=$s3;
}
}
echo "$result";
?>
是否有任何可能的代码,可能是 1-2 行,替换上面提到的代码,我记得像使用"or"运算符来做我正在用这段代码做的事情。
$result = $s1 ? $s1 : ($s2 ? $s2 : $s3);
或者更短,如果你有 PHP>5.3:
$result = $s1 ?: ($s2 ?: $s3);
更多:关于三元运算符的PHP手册部分
尝试条件赋值运算符:
$result = !empty($s1) ? $s1 : ( !empty($s2) ? $s2 : $s3 );
$result = $s1 ? $s1 : ($s2 ? $s2 : $s3);
为什么要用这个?
因为它减少了程序的同谋
注意:三元运算符从左到右计算。因此,如果您没有正确分组表达式,您将获得意想不到的结果
使用以下代码:
<?
$s1="";
$s2="qwe";
$s3="zxc";
echo $result = ($s1!="") ? $s1 : ( ($s2!="") ? $s2 : $s3);
?>
输出:QWE
它是三元运算符。如果将 $s 1 设置为不为空,则返回 $s 1,或者再次检查 $s 2 的条件,如果它也为空,则返回 $s 3。