From: fabien Date: Sun, 8 Nov 2009 08:05:13 +0000 (+0000) Subject: made more changes to use iterator_to_array() X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=f01728426f5d778cdd0cc4184f58435f1fb748aa;p=konrad%2Ftwig.git made more changes to use iterator_to_array() git-svn-id: http://svn.twig-project.org/trunk@119 93ef8e89-cb99-4229-a87c-7fa0fa45744b --- diff --git a/lib/Twig/runtime.php b/lib/Twig/runtime.php index 6bb32cc..f9a06f9 100644 --- a/lib/Twig/runtime.php +++ b/lib/Twig/runtime.php @@ -37,15 +37,9 @@ function twig_default_filter($value, $default = '') function twig_get_array_keys_filter($array) { - if (is_object($array) && $array instanceof Iterator) + if (is_object($array) && $array instanceof Traversable) { - $keys = array(); - foreach ($array as $key => $value) - { - $keys[] = $key; - } - - return $keys; + return array_keys(iterator_to_array($array)); } if (!is_array($array)) @@ -58,15 +52,9 @@ function twig_get_array_keys_filter($array) function twig_reverse_filter($array) { - if (is_object($array) && $array instanceof Iterator) + if (is_object($array) && $array instanceof Traversable) { - $values = array(); - foreach ($array as $value) - { - $values[] = $value; - } - - return array_reverse($values); + return array_reverse(iterator_to_array($array)); } if (!is_array($array)) @@ -195,7 +183,7 @@ function twig_iterator_to_array($seq) { return $seq; } - elseif (is_object($seq) && $seq instanceof Iterator) + elseif (is_object($seq) && $seq instanceof Traversable) { return iterator_to_array($seq); }