我需要将两个变量合并为一个变量。每个变量都有两组条件。我似乎无法正确理解语法。我正在尝试使用||为OR,但出现语法错误。
$JobType = ($RepairType==17) && isset($_POST['Tankless']) && ($_POST['Tankless'] !=1 ) ? 63 : $RepairType;
$JobType = ($RepairType==17) && isset($_POST['GasWaterHeater']) && ($_POST['GasWaterHeater'] !=1 ) ? 60 : $RepairType;
我尝试过:
$JobType = ($RepairType==17) && isset($_POST['Tankless']) && ($_POST['Tankless'] !=1 ) ? 63 || ($RepairType==17) && isset($_POST['GasWaterHeater']) && ($_POST['GasWaterHeater'] !=1 ) ? 60 : $RepairType;
这也是将||之间的条件“包装”在一起的方法。也没有运气:
$JobType = (($RepairType==17) && isset($_POST['Tankless']) && ($_POST['Tankless'] !=1 ) ? 63) || (($RepairType==17) && isset($_POST['GasWaterHeater']) && ($_POST['GasWaterHeater'] !=1 ) ? 60) : $RepairType;
我在做什么错了?
答案 0 :(得分:0)
可能您正在寻找:
$JobType = ($RepairType==17) ? (
(isset($_POST['Tankless']) && ($_POST['Tankless'] !=1)) ? 63 : (
(isset($_POST['GasWaterHeater']) && ($_POST['GasWaterHeater'] !=1)) ? 60 : $RepairType
)
) : $RepairType;
为简化阅读,您可以这样写:
$tankless = isset($_POST['Tankless']) && ($_POST['Tankless'] !=1 );
$gasheater = isset($_POST['GasWaterHeater']) && ($_POST['GasWaterHeater'] !=1 );
$JobType = ($RepairType==17) ? ($tankless ? 63 : ($gasheater ? 60 : $RepairType)) : $RepairType;