如何在PHP OOP中将变量放入变量?

时间:2014-01-20 04:37:26

标签: php oop

我的代码就是那样

class Some extends Another {
    var $first = "Hello";
    var $second = "Hello";
}

我想将$first放到$second,以便我可以把它放进去? 我尝试类似下面的内容

class Some extends Another {
    var $first = "Hello";
    var $second = "Hello $first";
}

但我收到以下错误

syntax error, unexpected '"'

而且可以放?

3 个答案:

答案 0 :(得分:3)

我不相信你可以像这样引用类成员 - 你必须在构造函数中设置$second

class Some
{
    public $first = "Hello";
    public $second;

    public function __construct()
    {
        $this->second = "Hello {$this->first}";
    }
}

虽然接近这个特定例子的更现实的方法是这样的:

class Some
{
    public $first = 'Marty';

    public function getSecond()
    {
        return "Hello {$this->first}";
    }
}

答案 1 :(得分:2)

class Some extends Another {
    var $first = "Hello";
    var $second = "Hello $first";
}

这会导致错误,因为您无法使用表达式的结果初始化对象中的属性,只能使用静态值。如果你想做你的例子,你必须在构造函数中做。

答案 2 :(得分:1)

$first = "hello1";
$second = "hello2";
$second = "hello2".$first;
echo $second;

解释是,如果第一个变量的值需要附加到第二个变量,那么就像这意味着字符串值然后点,然后第一个变量没有引号。