2014-09-19 274 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。

相關問題