我无法在同一个类的函数内回显函数的结果。
class className
{
function first_function()
{
echo "Here it is: " . $this->second_function('test');
}
function second_function($string)
{
return $string;
}
}
仅返回:
Here it is:
在second_function()中回显$ string会导致:
testHere it is:
有什么建议吗?谢谢。
答案 0 :(得分:1)
正如@cherryTD所说,我确实简化了代码。我明白为什么它没有用。在这里发布它可能会帮助别人。 第二个函数是递归函数,但不起作用:
function second_function($var,$cnt) {
[database query]
if(result) {
$cnt++;
$this->second_function($var, $cnt);
} else {
return $var;
}
}
但这确实有效:
function second_function($var,$cnt) {
[database query here]
if(result) {
$cnt++;
return $this->second_function($var, $cnt);
} else {
return $var;
}
}
从内部调用函数时需要返回。
这样:
$this->second_function($var, $cnt);
必须是:
return $this->second_function($var, $cnt);
感谢大家的回复。
答案 1 :(得分:0)
class className
{
function first_function()
{
echo "Here it is: " . $this->second_function('test');
}
function second_function($string)
{
return $string;
}
}
$obj = new className();
$a= $obj->first_function();
echo $a;