函数接受整数或数组值

时间:2014-05-28 23:27:15

标签: php function

我可以创建一个接受整数或数组值的PHP函数吗?可以在达到函数时确定逻辑,还是应该在调用之前完成? (即我想避免对数组使用一个函数,对单个整数使用另一个函数。)

我可以有两个参数,一个整数,一个数组,然后调用函数,其中一个为null。但是这种情况我现在还不知道它的类型。

function my_function($integer, array $array)
{
    $integer = '';

    ...

也许,在调用我的函数之前,我应该将整数转换为单个键控数组,因此无关紧要。

2 个答案:

答案 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有一堆类型检查全局函数:

  • ,确保对方阵列
  • ,确保对方布尔
  • ,确保对方可调用
  • ,确保对方双
  • ,确保对方浮
  • ,确保对方INT
  • ,确保对方整数
  • ,确保对方长
  • ,确保对方空
  • ,确保对方数字
  • ,确保对方对象
  • ,确保对方真正
  • ,确保对方资源
  • ,确保对方标量
  • ,确保对方串