diff --git a/library/think/template.php b/library/think/template.php index 1aa3cce8..82d420a4 100644 --- a/library/think/template.php +++ b/library/think/template.php @@ -615,10 +615,14 @@ class Template $vars = explode('.', $var); $var = array_shift($vars); $name = '$' . $var; - foreach ($vars as $key => $val) { - $name .= '["' . $val . '"]'; + if (count($vars) > 1) { + foreach ($vars as $key => $val) { + $name .= '["' . $val . '"]'; + } + } else { + // 一维自动识别对象和数组 + $name = 'is_array($' . $var . ')?$' . $var . '["' . $vars[0] . '"]:$' . $var . '->' . $vars[0]; } - } elseif (false !== strpos($var, '[')) { //支持 {$var['key']} 方式输出数组 $name = "$" . $var;