2010-08-23 172 views
1

在下面的代码中,变量似乎没有被设置。似乎很简单,但由于某种原因,这令我烦恼。变量范围问题PHP

function teasertext($string){ 
    $tstring = ""; 
    if (strlen($string)>9){ 
     $tstring .= substr($string,0,9) . "...."; 
    } 
    else 
    { 
     $tstring .= $string; 
    } 
} 
print $tstring; 
return $tstring; 
+0

规则1,始终缩进。它会告诉你为什么有些东西不起作用(在你的情况下,'print'和'return'语句在功能块之外)... – ircmaxell 2010-08-23 16:16:27

回答

-1

我把变量放在函数之外。愚蠢的错误。

2
print $tstring; 
return $tstring; 

位于功能块之外。

function teasertext($string){ 
    $tstring = ""; 
    if (strlen($string)>9){ 
     $tstring .= substr($string,0,9) . "...."; 
    } 
    else 
    { 
     $tstring .= $string; 
    } 
    print $tstring; 
    return $tstring; 
} 

应正确返回$ tstring。