Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP对象functionName():bool_Php_Oop_Public Method - Fatal编程技术网

PHP对象functionName():bool

PHP对象functionName():bool,php,oop,public-method,Php,Oop,Public Method,我有一个PHP类,在其中我找到了一个函数,例如 public static function success(string $userid, string $message):bool { return self::add($userid, $message, 'success'); } 有人能告诉我函数名后面的bool是什么意思吗?(我的重点): PHP7增加了对返回类型声明的支持。与参数类型声明类似,返回类型声明指定将从函数返回的值的类型。返回类型声明可用的类型与参数类型声明可用的

我有一个PHP类,在其中我找到了一个函数,例如

public static function success(string $userid, string $message):bool
{
    return self::add($userid, $message, 'success');
}
有人能告诉我函数名后面的bool是什么意思吗?

(我的重点):

PHP7增加了对返回类型声明的支持。与参数类型声明类似,返回类型声明指定将从函数返回的值的类型。返回类型声明可用的类型与参数类型声明可用的类型相同

严格类型也会影响返回类型声明在默认的弱模式下,返回的值将强制为正确的类型,如果它们尚未属于该类型。在强模式下,返回的值必须是正确的类型,否则将抛出TypeError


:bool
强制函数的返回类型,在您的例子中,它是一个布尔值

<?php

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

它明确表示函数
成功
将返回一个
bool
,并且只返回一个
bool
,从而防止隐式强制转换等意外返回值。

简单地说,它是函数将输出的值类型的指示器。
PHP7中介绍了这一点。如果尝试输出布尔值以外的值,则会出现错误。

它将强制方法的返回值为布尔值

<?php

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
e、 g.如果self::add方法返回一个字符串,则结果为1表示true