From e09bfb502fe94adda374a4430e455a79ba9083f1 Mon Sep 17 00:00:00 2001 From: Justin Hileman Date: Tue, 13 Mar 2012 14:17:13 -0500 Subject: [PATCH] Check if array is iterable without full key diff. ~0.5-1% performance gain. --- src/Mustache/Context.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Mustache/Context.php b/src/Mustache/Context.php index d63fc2b..1d8b44b 100644 --- a/src/Mustache/Context.php +++ b/src/Mustache/Context.php @@ -61,10 +61,17 @@ class Context { if (is_object($value)) { return $value instanceof \Traversable; } elseif (is_array($value)) { - return !array_diff_key($value, array_keys(array_keys($value))); - } + $i = 0; + foreach ($value as $k => $v) { + if ($k !== $i++) { + return false; + } + } - return false; + return true; + } else { + return false; + } } /**