对不起,如果这是一个comp-sci 101问题.我只是不确定我是否遗漏了一些明显的东西.
所以让我们说一些用户输入会抛出错误,我想抓住它并返回一些反馈.错误将是一个数字,0 - 8. 0表示"无错误".如果错误是3,我想给用户非常具体的反馈(不允许数字,让我们说).对于其他7种可能性,我只想结束脚本并回显错误.
我正在解决这个问题并决定采用这种方式:
$no_errors ($_error != 0 || $_error != 3) ? FALSE : TRUE; if (!$no_errors) echo $error_msg['$_error']; $error_3 ($no_errors && $_error == 3) ? TRUE : FALSE; if ($error_3) bunch of stuff happens; else bunch of other stuff;
无论如何,我当时注意到第一行的OR运算符,并且认为使用AND运算符可能更好/更安全.但是我想的越多,我看到的差别越小.
所以真正的问题是,如果你想消除特定变量的两种可能性,那么AND和OR是相同的,还是逻辑上/功能上更优化?
如果使用switch语句,它将更具可读性:
switch ($_error) { case 0; nothing happens; break; case 3: bunch of stuff happens; break; default: bunch of other stuff; break; }