2012-03-19 68 views
1

我正在使用CodeIgniter。這是if語句嗎?

我在配置文件中設置了$config['global_xss_filtering'] = FALSE

然後我發現這個代碼system/core/Input.php

$this->_enable_xss= (config_item('global_xss_filtering') === TRUE); 

其實這個代碼是幹什麼?它看起來不像三元語句。在我看來,是

$this->_enable_xss= (FALSE === TRUE); 

在這種情況下$this->_enable_xss返回false?

+0

有更多關於聲明的代碼嗎?我會說你的評估是有效的。 – Robert 2012-03-19 13:27:05

回答

5

此膨脹出到:

// If global_xss_filtering is a boolean TRUE (by strict comparison) 
if (config_item('global_xss_filtering') === TRUE) { 
    // Set _enable_xss to TRUE 
    $this->_enable_xss = TRUE; 
} 
// Otherwise set it FALSE 
else $this->_enable_xss = FALSE; 

的部分在()(config_item('global_xss_filtering') === TRUE)是一個布爾值比較,這將返回TRUEFALSE。該值存儲在$this->_enable_xss中。

所以你的情況,你是正確的,你正在評估

$this->_enable_xss= (FALSE === TRUE); 

...這臺$this->_enable_xssFALSE

1

每個比較運算符都返回一個布爾值。 你的檢查,如果你真的左右。 所以,是的,var_dump(true === false);//bool(false)