Php 为什么方法不能返回布尔值?

Php 为什么方法不能返回布尔值?,php,json,laravel,function,Php,Json,Laravel,Function,这是我的密码: public function shouldHaveOption(Request $request) { return shouldHaveOption($request->option_key); } shoulldhaveoption()函数的结果是true或false。它抛出: 响应内容必须是实现_toString()的字符串或对象,给定“boolean” 为什么返回的值应该是字符串 注意返回jsone_encode(shouldHaveOption($r

这是我的密码:

public function shouldHaveOption(Request $request)
{
    return shouldHaveOption($request->option_key);
}
shoulldhaveoption()
函数的结果是
true
false
。它抛出:

响应内容必须是实现_toString()的字符串或对象,给定“boolean”

为什么返回的值应该是字符串



注意
返回jsone_encode(shouldHaveOption($request->option_key))将起作用。因为
jsone\u encode
将布尔值转换为字符串。

是的,响应内容不能是布尔值,所以您可以将其包装在一个数组中:
[shouldaveoption($request->option\u key)]
shouldaveoption(request$request)
直接被路由调用吗?Try
返回响应(shouldaveoption($request->option\u key),200)为什么,因为在laravel中必须始终返回响应对象;通常情况下,当使用helpers返回视图或重定向时,laravel会自动将其转换为响应,但我猜对于布尔人来说,它不会这样做。