summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Router.php9
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;
}