如何在php类中的另一个变量中使用变量,如下所示:
<?php
class example
{
var $first_num = 8;
var $second_num = $first_num + 3;
public function forexample($num)
{
if($num == $this->first_num)
{
echo $this->second_num;
}
}
etc...
}
?>
我想在课堂上使用这种方式。 请帮帮我。
答案 0 :(得分:1)
你想要做的事实是:
<?php
class example
{
var $first_num;
var $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}
}
请记住,虽然您可以在类体中声明变量时直接初始化变量,但您可能希望使用类构造函数进行更复杂的初始化。
在这种特定情况下,禁止使用非常量值声明变量,因此对于变量$second_num
,必须使用构造函数。
此外,如果您想微调变量可见性,您可能希望使用private
,public
或protected
访问修饰符而不是旧版var
,已被弃用。
答案 1 :(得分:0)
您必须在构造函数中执行此操作。见http://php.net/manual/en/language.oop5.properties.php:
此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。
见SirDarius的回答。
答案 2 :(得分:0)
您必须使用构造函数。一旦你这样做,你可以在课堂的任何地方使用变量!
<?php
class example {
private $first_num;
private $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}
}
?>
由于您更新了问题,因此您必须将变量设置为公开而非私有。