我有以下适用的逻辑
['Value']
是tinyint(1)
['Text1']
varchar(200)
['Text2']
varchar(200)
if ($item['Table']['Value'] == 0) then Option 1
if ($item['Table']['Value'] && $e['Table']['Text1']) then Option 2
if ($item['Table']['Value'] && $e['Table']['Text1'] == false) then Option 3
如果[[Text2]]中有任何文本,我想再添加一个优先级最高的选项,无论['Value'] = 1还是0
我尝试在顶部加一个,但是任何比我聪明的人都建议它不能全部起作用。
if ($item['Table']['Text2'] == true) then Option 4
请说明这种逻辑的正确结构应如何。 谢谢
答案 0 :(得分:0)
如果我的问题正确,那么您应在以下情况下使用else if
:
if ($item['Table']['Text2'] == true) then Option 4
else if ($item['Table']['Value'] == 0) then Option 1
else if ($item['Table']['Value'] && $e['Table']['Text1']) then Option 2
else if ($item['Table']['Value'] && $e['Table']['Text1'] == false) then Option 3
答案 1 :(得分:0)
您可以检查empty
的情况
if (!empty($item['Table']['Text2'])) then Option 4
if ($item['Table']['Value'] == 0) then Option 1
if ($item['Table']['Value'] && $e['Table']['Text1']) then Option 2
if ($item['Table']['Value'] && $e['Table']['Text1'] == false) then Option 3
答案 2 :(得分:0)
使用if ... else...
结构可以为组合创建层次结构。目前,一些测试已完成几次,可以将它们排除在外。 (恕我直言)这也使条件更清晰,更易于维护...
if ( !empty($e['Table']['Text1']) ) {
// Option 4
}
else {
if ($item['Table']['Value'] == 0) {
// Option 1
}
else {
if (!empty($e['Table']['Text1'])) {
//Option 2
}
else {
// Option 3
}
}
}
正如我在对问题本身的评论中提到的那样-不知道选项2是否可以实现,因为现在是选项4。