我的代码就是那样
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 '"'
而且可以放?
答案 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;
解释是,如果第一个变量的值需要附加到第二个变量,那么就像这意味着字符串值然后点,然后第一个变量没有引号。