PHP 8.4.0 RC4 available for testing

is_countable

(PHP 7 >= 7.3.0, PHP 8)

is_countable 引数が、数えられる値かどうかを調べる

説明

is_countable(mixed $value): bool

引数の内容が、array または Countable を実装したオブジェクトかどうかを調べます。

パラメータ

value

チェックする値

戻り値

value が数えられる場合に true、 それ以外の場合に false を返します。

変更履歴

バージョン 説明
7.3.0 is_countable() が追加されました。

例1 is_countable() の例

<?php
var_dump
(is_countable([1, 2, 3])); // 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() - 変数が boolean であるかを調べる

add a note

User Contributed Notes 3 notes

up
45
info at arisendrake dot de
6 years 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
3
renic
5 years 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
2
danmichaelo at gmail dot com
5 years ago
Note that a polyfill for this method is also provided by the symfony/polyfill project.
To Top