is_countable

(PHP 7 >= 7.3.0)

is_countable Проверить, что содержимое переменной является счетным значением

Описание

is_countable ( mixed $var ) : bool

Проверить, что содержимое переменной массив (array) или объект, реализующий Countable

Список параметров

var

Значение для проверки

Возвращаемые значения

Возвращает TRUE, если var счетная или FALSE в противном случае.

Список изменений

Версия Описание
7.3.0 Добавлена функция is_countable().

Примеры

Пример #1 Примеры использования is_countable()

<?php
var_dump
(is_countable([123])); // bool(true)
var_dump(is_countable(new ArrayIterator(['foo''bar''baz']))); // bool(true)
var_dump(is_countable(new ArrayIterator())); // bool(true)
var_dump(is_countable(new stdClass())); // bool(false)

Смотрите также

  • is_array() - Определяет, является ли переменная массивом
  • is_object() - Проверяет, является ли переменная объектом
  • is_iterable() - Проверяет, является ли переменная итерируемой
  • is_bool() - Проверяет, является ли переменная булевой

add a note add a note

User Contributed Notes 4 notes

up
22
info at arisendrake dot de
1 year ago
If you are unable to upgrade to PHP 7.3 (not released at the time of writing), you can use this simple polyfill:

<?php
if (!function_exists('is_countable')) {
    function
is_countable($var) {
        return (
is_array($var) || $var instanceof Countable);
    }
}
?>
up
2
danmichaelo at gmail dot com
6 months ago
Note that a polyfill for this method is also provided by the symfony/polyfill project.
up
0
renic
4 months ago
be wary of using is_object($var) and assuming that the object has implemented Countable.  Not all objects are countable directly with count().
up
-3
deoomen
6 months ago
Polyfill written by arisendrake is not quite good. It return FALSE when checking an Simple XML Node but count() works properly on PHP 7.1 and 7.3.
Better is this one:

<?php
if (version_compare(PHP_VERSION, "7.3") < 0 && !function_exists("is_countable")) {
    function
is_countable($var): bool
   
{
        return (
is_array($var) || is_object($var) || is_iterable($var) || $var instanceof Countable);
    }
}
?>
To Top