【问题标题】:Class return value to another function in same class类返回值到同一类中的另一个函数
【发布时间】:2013-12-06 04:10:40
【问题描述】:

我正在尝试学习课程的运作方式,但我发现了一个问题。如何将变量从函数传递到同一类中的另一个函数?我尝试使用 return 但它没有用。

这是一个与我的问题类似的简单类:

class a
{

    function one()
    {

        $var = 5;
        return $var;

    }

    function two()
    {

        $this->one();

        if($var == 5){

            echo "It works.";

        }

    }

}

我只是直接在这里写的,所以如果有任何粗心错误,请忽略它。 那么,我该如何实现呢?

提前致谢! :)

P.S 很抱歉,如果这个问题已经被问过,我很不擅长搜索。

【问题讨论】:

  • 你可能想在函数方法上闲逛一段时间,直到你完全理解它们是如何“共享变量”的,或者事实上,它们是如何不共享变量的。
  • 您的方法one 实际上返回了一个值,但没有任何东西可以接收。您需要将结果存储在类成员变量或two 方法内的局部变量中。

标签: php class variables methods


【解决方案1】:

你离得太近了。您只需要从a::one() 中捕获返回的值即可在a::two() 中使用:

function two(){
    $var = $this->one();
    if($var == 5){
        echo "It works.";
    }
}

另一种方法是在你的类中使用成员变量:

class a {
    private $var;

    function one(){
        $this->var = 5;
    }

    function two(){
        $this->one();
        if($this->var == 5){
            echo "It works.";
        }
    }
}

【讨论】:

  • 哈!非常感谢您的快速回答!干杯!计时器一到,我就会将其标记为解决方案。 :) 祝你有美好的一天
  • 看到你的编辑,你推荐哪一个?哪个在哪个环境下最好?
  • 它们都适合你。我说使用选项 1。随着您获得更多经验,您会看到何时使用选项 2。
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
相关资源
最近更新 更多