is_countable

(PHP 7 >= 7.3.0)

is_countable Verifica que el contenido de una variable es un valor contable

Descripción

is_countable ( mixed $var ) : bool

Verifica que el contenido de una variable es un array o un objeto implementando Countable

Parámetros

var

El valor a comprobar

Valores devueltos

Devuelve TRUE si var es contable, FALSE en caso contrario.

Historial de cambios

Versión Descripción
7.3.0 is_countable() ha sido añadido.

Ejemplos

Ejemplo #1 ejemplos de 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)

Ver también

  • is_array() - Comprueba si una variable es un array
  • is_object() - Comprueba si una variable es un objeto
  • is_iterable() - Verifica que el contenido de una variable es un valor iterable
  • is_bool() - Comprueba si una variable es de tipo booleano

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
1 year ago
Note that a polyfill for this method is also provided by the symfony/polyfill project.
up
0
renic
1 year 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
1 year 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