出现了无法理解的情况。将值传递false
给常规函数时,默认值 =null
正确分配或输出的值:
function some(?bool $a = null)
{
var_dump($a);
}
some();
some(true);
some(false);
结果:
NULL
bool(true)
bool(false)
但是,当我尝试通过 将相同的参数传递给控制器参数时,返回的route
值是,因此给出了不正确的结果。是什么原因造成的?也许 codeigniter在参数中
以某种不同的方式处理它?-s:false
true
false
Route
$routes->get('default', 'Results::index');
$routes->get('successful', 'Results::index/true');
$routes->get('errors', 'Results::index/false');
控制器:
public function index(?bool $decline = null)
{
var_dump($decline);
exit;
}
结果:
NULL
bool(true)
bool(true)