如何在php中声明参数类型时将float传递给函数

时间:2016-08-13 08:08:03

标签: php

当我使用wStrict输入时,无论我传递给函数,致命错误都是:

function quote(double $a){
    var_dump(func_get_args());
}
quote(1.1071212);

捕获致命错误:传递给quote()的参数1必须是float的实例,双给定

var ordersById = doc.Descendants("orderItem")
    .GroupBy(x => (string) x.Element("OrderId")); // 1

foreach (var grouping in ordersById)
{
    var total = grouping
        .Sum(x => (decimal) x.Element("amount")); // 2

    grouping.First().SetElementValue("amount", total); // 3

    grouping.Skip(1).Remove(); // 4
}

可捕获的致命错误:传递给quote()的参数1必须是double,double赋值的实例,称为

1 个答案:

答案 0 :(得分:3)

你可能在PHP 5中这样做了吗?在这种情况下,尚未引入标量类型提示。

相反,它认为floatdouble是您尝试输入提示的类。

第一个可以在PHP 7中运行。我在这里为你做了示例演示:

https://3v4l.org/A86Oo

https://3v4l.org/YLKEU