diff options
author | Arnold Daniels <arnold@jasny.net> | 2016-06-22 19:36:41 +0200 |
---|---|---|
committer | Arnold Daniels <arnold@jasny.net> | 2016-06-22 19:37:15 +0200 |
commit | a312b9742be7002cef53c69ae5550d9bc87a0dc5 (patch) | |
tree | 1d1dd8a236eb4dafd84e532bccb38a50d285bfe3 | |
parent | e41ac80a66cc27a49f513aaa7c6029a1b054ee45 (diff) | |
download | router-a312b9742be7002cef53c69ae5550d9bc87a0dc5.zip router-a312b9742be7002cef53c69ae5550d9bc87a0dc5.tar.gz router-a312b9742be7002cef53c69ae5550d9bc87a0dc5.tar.bz2 |
Fix casting to associated array in Router::bind()
-rw-r--r-- | src/Router.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Router.php b/src/Router.php index 5f79e6f..d08f5dc 100644 --- a/src/Router.php +++ b/src/Router.php @@ -558,9 +558,9 @@ class Router protected static function bind($vars, array $parts) { $values = []; - $type = is_array($vars) || is_int(reset($vars)) ? 'numeric' : 'assoc'; + $type = is_array($vars) && is_int(reset(array_keys($vars))) ? 'numeric' : 'assoc'; - foreach ($vars as $key=>$var) { + foreach ($vars as $key => $var) { if (!isset($var)) continue; if (is_object($var) && !$var instanceof \stdClass) { @@ -585,7 +585,10 @@ class Router } } - if ($type === 'assoc') $values = (object)$values; + if (is_object($vars) && $type === 'assoc') { + $values = (object)$values; + } + return $values; } |