【问题标题】:arguments with defined type in PHPPHP中定义类型的参数
【发布时间】:2016-10-20 01:58:03
【问题描述】:

我已经定义了这段代码:

function calcule (integer $a, integer $b) {
    return $a + $b;
}

$num1=5;
$num2=6;
echo calcule($num1, $num2);

它给出了以下错误:

PHP 可捕获的致命错误:传递给 calcule() 的参数 1 必须是整数的实例,整数给定,在第 9 行的 /home/me/calcule.php 中调用并在 /home/stephane/public_html/calcule 中定义。第 3 行的 php PHP 堆栈跟踪:-

PHP 1. {main}() /home/me/calcule.php:0

PHP 2.calcule() /home/me/calcule.php:9

【问题讨论】:

  • 您不需要将integer 与参数一起使用,请检查:eval.in/591273
  • 你用的是哪个版本的php??

标签: php function types integer


【解决方案1】:

PHP 7.0.x 中允许类型声明

标量类型声明有两种形式:强制(默认)和 严格的。现在可以强制执行以下参数类型(无论是 强制或严格):字符串(string),整数(int), 浮点数 (float) 和布尔值 (bool)。他们增加了 PHP 5 中引入的其他类型:类名、接口、数组和 可调用。

function calcule (int $a, int $b) {
    return $a + $b;
}

$num1=5;
$num2=6;
echo calcule($num1, $num2);

直到PHP 5.6.x版本你不需要定义它

只是把它当作

function calcule ($a, $b) {
    return $a + $b;
}

$num1=5;
$num2=6;
echo calcule($num1, $num2);

【讨论】:

    猜你喜欢
    • 2011-12-13
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多