PHP 8.4.0 RC2 available for testing

is_iterable

(PHP 7 >= 7.1.0, PHP 8)

is_iterable Verify that the contents of a variable is an iterable value

Descrizione

is_iterable(mixed $value): bool

Verify that the contents of a variable is accepted by the iterable pseudo-type, i.e. that it is either an array or an object implementing Traversable

Elenco dei parametri

value

The value to check

Valori restituiti

Returns true if value is iterable, false otherwise.

Esempi

Example #1 is_iterable() examples

<?php

var_dump
(is_iterable([1, 2, 3])); // bool(true)
var_dump(is_iterable(new ArrayIterator([1, 2, 3]))); // bool(true)
var_dump(is_iterable((function () { yield 1; })())); // bool(true)
var_dump(is_iterable(1)); // bool(false)
var_dump(is_iterable(new stdClass())); // bool(false)

?>

Vedere anche:

  • is_array() - Verifica se una variabile è un array

add a note

User Contributed Notes 2 notes

up
34
mopsyd at me dot com
6 years ago
A slight correction to brcontainer's polyfill, which prevents errors on a non-object in a non-blocking way, and also corrects the issue of the conditional checking "file_exists" instead of the correct "function_exists":

if ( !function_exists( 'is_iterable' ) )
{

function is_iterable( $obj )
{
return is_array( $obj ) || ( is_object( $obj ) && ( $obj instanceof \Traversable ) );
}

}

The original answer would not have resolved correctly, because it was looking for a file instead of a function, and the provided method would error if given a non-iterable non-object value such as false.
To Top