Close

Not a member yet? Register now and get started.

lock and key

Sign in to your account.

Account Login

Forgot your password?

比對條件反轉注意事項

當整個比對條件相反時,中間的串接條件,也必然相反。
寫程式時要留意,不要產生下面 2.錯誤的反向邏輯
 

程式碼:

<?php
$data = array();
$data['test'] = '';
 
// 1.正確的正向邏輯
echo (isset($data['test']) && '' != trim($data['test'])) ? trim($data['test']) : 'nothing';
 
// 2.錯誤的反向邏輯
if (!isset($data['test']) && '' == trim($data['test'])) {
    echo 'nothing';
} else {
    echo trim($data['test']);
}
// 3.正確的反向邏輯
if (!isset($data['test']) || '' == trim($data['test'])) {
    echo 'nothing';
} else {
    echo trim($data['test']);
}
?>

關鍵在於要確實理解 && 及 || 的有效魔力

第1個條件 && 第2個條件
當第1個條件成立,才會接著驗證第2個條件
如果第1個條件都不成立,就沒有機會進入第2個條件

第1個條件 || 第2個條件
當第1個條件成立,就不會進入第2個條件
當第1個條件不成立,才會接著驗證第2個條件

Leave a Reply

*