fixed the random function
authorFabien Potencier <fabien.potencier@gmail.com>
Sun, 18 Dec 2011 14:08:12 +0000 (15:08 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Sun, 18 Dec 2011 14:08:12 +0000 (15:08 +0100)
lib/Twig/Extension/Core.php

index 9e5cf20..78f0660 100644 (file)
@@ -258,11 +258,13 @@ function twig_random($values)
         return $values;
     }
 
-    if (is_object($values) && !$values instanceof Countable) {
+    if (is_object($values)) {
         $values = iterator_to_array($values);
     }
 
-    return $values[mt_rand(0, count($values) - 1)];
+    $keys = array_keys($values);
+
+    return $values[$keys[mt_rand(0, count($values) - 1)]];
 }
 
 /**