本文介绍了传递给Y的参数X必须是boolean的实例,给定的是boolean-PHP7的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

提供代码

<?php
function a(boolean $value){
    var_dump($value);
}
a(true);

我收到错误消息

这是怎么回事?

推荐答案

boolean的唯一有效的typehint是bool.根据文档 boolean不是在typehints中被识别为bool的别名.而是将其视为类名.int(标量)和integer(类名称)相同,这将导致错误

Only valid typehint for boolean is bool. As per documentation boolean isn't recognized as alias of bool in typehints. Instead it is treated as class name.Same goes for int(scalar) and integer(class name), which will result in error

在这种情况下,应该使用类boolean的对象,但是会传递true(布尔,标量).

In this specific case object of class boolean is expected but true(bool, scalar) is passed.

有效代码为

<?php
function a(bool $value){
    var_dump($value);
}
a(true);

结果是

这篇关于传递给Y的参数X必须是boolean的实例,给定的是boolean-PHP7的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 18:05