这是if声明吗?

shi*_*hin 1 php codeigniter

我正在使用CodeIgniter.

$config['global_xss_filtering'] = FALSE在一个配置文件中设置.

然后我发现这段代码system/core/Input.php:

$this->_enable_xss= (config_item('global_xss_filtering') === TRUE);
Run Code Online (Sandbox Code Playgroud)

这个代码实际上是做什么的?它看起来不像是三元声明.在我看来是

$this->_enable_xss= (FALSE === TRUE);
Run Code Online (Sandbox Code Playgroud)

在这种情况下$this->_enable_xss返回FALSE?

Mic*_*ski 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;
Run Code Online (Sandbox Code Playgroud)

part in () (config_item('global_xss_filtering') === TRUE)是一个布尔比较,它将返回TRUEFALSE.该值存储在$this->_enable_xss.

所以在你的情况下,你是正确的,你正在评估

$this->_enable_xss= (FALSE === TRUE);
Run Code Online (Sandbox Code Playgroud)

...设置$this->_enable_xssFALSE.