PHP - 强制函数参数为整数

时间:2015-03-20 14:44:22

标签: php function parameters

在PHP中,您可以执行以下操作:

class Something {// bla bla}

function functionName(Something $object) {
    // Do stuff here  ^^^^^^^^^
}

这可以确保函数接收到Something类的实例。

我的问题是我想强制执行基本类型。

function functionName(integer $someInt) {
    // Do stuff here  ^^^^^^^
}
functionName(5);

这表示$ someInt是"不是整数的实例,给定的整数" (我的PHP版本低于7.0)。如何强制执行基本类型?

2 个答案:

答案 0 :(得分:7)

您无法为scalar types执行此操作,请参阅手册:

从那里引用:

  

类型提示不能与标量类型(如int或string )一起使用。资源和特征也是不允许的。

但是你可以使用PHP 7:https://wiki.php.net/rfc/scalar_type_hints_v5

答案 1 :(得分:7)

您无法在PHP中键入标量类型。唯一的机会是使用包装类型。出于此目的,SPL库附带SplInt

更新:看起来PHP 7提供了这项功能。叹息,时代变了:)