📜  PHP | is_countable()函数(1)

📅  最后修改于: 2023-12-03 15:18:24.733000             🧑  作者: Mango

PHP | is_countable()函数

在PHP 7.3版本中,新增了一个函数is_countable(),该函数用于检查变量是否为可计数的类型,即数组或者实现了Countable接口的对象。如果参数是可计数类型,则返回true,否则返回false。

语法
is_countable($var)

$var : 要检查的变量。

示例

示例1:使用is_countable()函数检查数组是否可计数类型。

$arr = ['one', 'two', 'three'];
if (is_countable($arr)) {
    echo count($arr);
}

输出:

3

示例2:使用is_countable()函数检查对象是否可计数类型。

class MyCountable implements Countable {
    private $count = 3;
    public function count(){
        return $this->count;
    }
}

$obj = new MyCountable;
if (is_countable($obj)) {
    echo count($obj);
}

输出:

3

示例3:使用is_countable()函数检查字符串是否可计数类型。

$str = 'hello';
if (is_countable($str)) {
    echo count($str);
}

输出:

Warning: count(): Parameter must be an array or an object that implements Countable in ...

从上面的例子可以看出,is_countable()函数并不能检查字符串是否是可计数类型。

注意事项
  • is_countable()函数只可用于PHP 7.3版本及以上。

  • 如果是尝试检查一个非法的类型,例如null或者一个标量类型(string、int、bool等),is_countable()函数会抛出一个警告并返回false。

  • 虽然数组、Countable对象和迭代器都可以用count()函数统计元素的数量,但是这并不意味着它们一定是可计数类型,因为非法类型的参数调用count()函数也不会报错,而是返回0。因此,使用is_countable()函数来检查一个变量是否为可计数类型,可以增加代码的健壮性。

参考资料

PHP官方文档:is_countable()