From 9bee0589fbf4aa51c3dac9ffc4792cb474f56df7 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 30 Apr 2018 04:17:25 +0000 Subject: [PATCH] General: Introduce a polyfill for `is_iterable()` function added in PHP 7.1. Props jrf, schlessera, desrosj. Merges [43036] to the 4.9 branch. See #43619. Built from https://develop.svn.wordpress.org/branches/4.9@43037 git-svn-id: http://core.svn.wordpress.org/branches/4.9@42866 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/compat.php | 20 +++++++++++++++++++- wp-includes/version.php | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/wp-includes/compat.php b/wp-includes/compat.php index a0976c1ef2..d46b0e5230 100644 --- a/wp-includes/compat.php +++ b/wp-includes/compat.php @@ -503,7 +503,7 @@ if ( ! function_exists( 'is_countable' ) ) { * Polyfill for is_countable() function added in PHP 7.3. * * Verify that the content of a variable is an array or an object - * implementing Countable. + * implementing the Countable interface. * * @since 4.9.6 * @@ -515,3 +515,21 @@ if ( ! function_exists( 'is_countable' ) ) { return ( is_array( $var ) || $var instanceof Countable ); } } + +if ( ! function_exists( 'is_iterable' ) ) { + /** + * Polyfill for is_iterable() function added in PHP 7.1. + * + * Verify that the content of a variable is an array or an object + * implementing the Traversable interface. + * + * @since 4.9.6 + * + * @param mixed $var The value to check. + * + * @return bool True if `$var` is iterable, false otherwise. + */ + function is_iterable( $var ) { + return ( is_array( $var ) || $var instanceof Traversable ); + } +} diff --git a/wp-includes/version.php b/wp-includes/version.php index 082665c84a..4c334e8664 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.9.6-alpha-43035'; +$wp_version = '4.9.6-alpha-43037'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.