问题一:
看如下代码
<?php
$val = true;
var_dump(trim($val)); //string '1' (length=1)
$val = false;
var_dump(trim($val)); //string '' (length=0)
trim函数直接将bool类型的变量变成了string类型:
true --> '1'
false --> ''
这种问题在浏览器端使用ajax传递数据的网站中,服务器端校验表单数据就会出错,特别是像使用框架的表单校验,如CI框架:
array(
'field' => 'data[enable]',
'label' => 'lang:enable',
'rules' => 'trim',
'value' => false,
'alias' => 'enable',
),
校验规则中用到了trim函数,于是得到的值就不对了。