如何在php类中的另一个变量中使用变量

时间:2014-09-19 15:41:22

标签: php class variables

如何在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...
}

?>

我想在课堂上使用这种方式。 请帮帮我。

3 个答案:

答案 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,必须使用构造函数。

此外,如果您想微调变量可见性,您可能希望使用privatepublicprotected访问修饰符而不是旧版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;
        }


    }
?>

由于您更新了问题,因此您必须将变量设置为公开而非私有。