我可以创建一个接受整数或数组值的PHP函数吗?可以在达到函数时确定逻辑,还是应该在调用之前完成? (即我想避免对数组使用一个函数,对单个整数使用另一个函数。)
我可以有两个参数,一个整数,一个数组,然后调用函数,其中一个为null。但是这种情况我现在还不知道它的类型。
function my_function($integer, array $array)
{
$integer = '';
...
也许,在调用我的函数之前,我应该将整数转换为单个键控数组,因此无关紧要。
答案 0 :(得分:1)
如果您确定只传递数组或整数类型,则可以执行以下操作:
function my_function($param)
{
if (is_array($param)) {
//treat param as array
} else {
//treat param as integer
}
...
}
答案 1 :(得分:0)
PHP不使用严格的数据类型。您始终可以检查参数的“对象”类型:
function my_function($value) {
if ( is_array($value) ) {
// it is an array
} else if ( is_int($value) ) {
// it is an integer
} else {
throw new InvalidArgumentException(__FUNCTION__.' expecting array or integer, got '.gettype($value));
}
}
PHP有一堆类型检查全局函数: