diff --git a/library/think/Template.php b/library/think/Template.php index 64ce2841..145b7f12 100644 --- a/library/think/Template.php +++ b/library/think/Template.php @@ -763,32 +763,26 @@ class Template } else { if (isset($array[1])) { $this->parseVar($array[2]); - $_name = ' && ' . $name . $array[1] . $array[2]; + $express = $name . $array[1] . $array[2]; } else { - $_name = ''; + $express = false; } // $name为数组 switch ($first) { case '?': // {$varname??'xxx'} $varname有定义则输出$varname,否则输出xxx - $str = ''; + $str = ''; break; case '=': // {$varname?='xxx'} $varname为真时才输出xxx - $str = ''; + $str = ''; break; case ':': // {$varname?:'xxx'} $varname为真时输出$varname,否则输出xxx - $str = ''; + $str = ''; break; default: - if (isset($array[1])) { - $this->parseVar($array[2]); - $name = $name . $array[1] . $array[2]; - } else { - $name = '!empty(' . $name . ')'; - } - $str = ''; + $str = ''; } } } else { diff --git a/tests/thinkphp/library/think/templateTest.php b/tests/thinkphp/library/think/templateTest.php index 27e49dbb..d930282e 100644 --- a/tests/thinkphp/library/think/templateTest.php +++ b/tests/thinkphp/library/think/templateTest.php @@ -78,7 +78,7 @@ EOF; {\$name.a==\$name.b?='test'} EOF; $data = << + EOF; $template->parse($content); @@ -88,7 +88,7 @@ EOF; {\$name.a==\$name.b?'a':'b'} EOF; $data = << + EOF; $template->parse($content);