比對條件反轉注意事項

20一月

比對條件反轉注意事項

當整個比對條件相反時,中間的串接條件,也必然相反。
寫程式時要留意,不要產生下面 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個條件

Posted by chihwen  Posted on 20 一月 
  • PHP
  • Post Comments 0