0

如何在类的函数中调用函数?

我的代码看起来像这样(示例)

    class Test
{

    echo $this->unique();

    public function unique($unique = FALSE)
    {
        function random()
        {
            return 1;
        }

        while($unique === FALSE)
        {
            return $this->random();
            $unique = TRUE;
        }
    }

}

但我收到以下错误: 调用未定义的方法 Test::random()

4

3 回答 3

1

不是$this->random();,只是random()

您的嵌套函数不是Test该类的方法,它只是一个函数,是您声明它的方法的本地函数。


请注意,您的代码似乎有一些非常严重的缺陷。

此代码不起作用;while 循环只会执行一次,并且只会执行return语句。程序流程永远无法到达该$unique = TRUE行。

    while($unique === FALSE)
    {
        return $this->random();
        $unique = TRUE;
    }
于 2013-10-25T11:59:05.217 回答
0

只需使用 random();

class Test
{

    echo $this->unique();

    public function random()
    {
        return 1;
    }


    public function unique($unique = FALSE)
    {

        while($unique === FALSE)
        {
            return random();
            $unique = TRUE;
        }
    }

}
于 2013-10-25T11:59:55.350 回答
0

只需这样做:

这是一个示例代码:

这是您当前的主要功能:

function parentFuntion()
{
  childFuntion();
}

这是你试图从你的主函数调用的函数

function childFuntion()
{

}
于 2013-10-25T12:01:16.280 回答