2014-09-19 276 views
0

我怎么能在一个PHP类这样使用一个变量,另一个变量:如何使用一个变量,另一个变量在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

你是什么意思?该代码有什么问题? – CMPS 2014-09-19 15:42:19

回答

1

你想要做的其实是这样的:

<?php 
class example 
{ 
    var $first_num; 
    var $second_num; 

    function __construct() { 
     $this->first_num = 8; 
     $this->second_num = $this->first_num + 3; 
    } 
} 

请记住,尽管你可以直接初始化变量,而在类体内declarating他们,你可能需要使用类的构造更复杂的初始化。

在这种特定情况下,禁止使用非常量值声明变量,因此变量$second_num必须使用构造函数。

另外,如果你想微调变量的知名度,你可能想使用privatepublic,或protected访问修饰符,而不是传统var,这是过时的。

0

你将不得不在构造函数中这样做。见http://php.net/manual/en/language.oop5.properties.php

这个声明可能包括初始化,但初始化必须是一个恒定值 - 也就是说,它必须能够在编译时进行评估,并以不能依赖于运行时信息进行评估。

请参阅SirDarius的回答。

0

你必须利用构造函数。一旦你这样做了,你可以在课堂的任何地方使用变量!

<?php 
    class example { 

     private $first_num; 
     private $second_num; 

     function __construct() { 
      $this->first_num = 8; 
      $this->second_num = $this->first_num + 3; 
     } 


    } 
?> 

由于您更新了您的问题,因此您必须将变量设置为public而非private。

相关问题