2012-11-29 78 views
0

我有一类这样的:我可以从另一个函数返回返回值吗?

class Example { 

    private function _test($value) 
    { 
     if ($value == 'xyz') return FALSE; 
    } 

    public function check() 
    { 
     $this->_test('xyz'); 

     // more code follows here... 
    } 

} 

基本上就是我想要做的是“冒泡”的返回值从方法_test()的方法检查()的实际的返回值FALSE,所以在调用

$this->_test('xyz'); 

将返回FALSE

return $this->_test('xyz'); 

将无法​​工作,因为我不想返回,如果值不匹配“XYZ”。

这可能吗?

回答

5

我不明白你正在寻找什么,所以如果这不是你的意思,请多解释一下你想要的。

public function check() 
{ 
    if($this->_test('xyz') === FALSE){ 
     return FALSE; 
    } 

    // more code follows here... 
} 
+0

我明白我可以做到这一点。但是我想避免check()方法中的if子句,而是从_test方法继承返回值。 – santacruz

+2

如果你只*想在特定条件为真时返回,你别无选择,只能使用某种'如果'构造。 –

+0

然后只需执行'$ result = $ this - > _ test('xyz')'?你能解释一下你期望更清楚的发生吗? check()函数的最终目标是什么? – Prisoner