2014-11-21 74 views

回答

1

訪問它像這樣

<?php 
class Test 
{ 
    public static $myArray = array('a', 'b'); 
} 

$test = new Test(); 
var_dump($test::$myArray); 
?> 

看到這裏PHP - STATIC

+0

您甚至不需要實例化類Test中的對象;) – Havelock 2014-11-21 14:53:17

+0

Thanks @ Havelock,我們每天都會學到一些新東西:-) – Pwner 2014-11-21 14:54:36

-1

您正在以方法(函數)方式訪問它?
接受它的價值,你必須把它作爲靜態變量

var_dump($test::myArray); 

應該工作

+2

'$ test-> myArray'是訪問類實例的公共(非靜態)屬性的方式。要訪問某個類的靜態屬性,您需要編寫' :: $ ' – 2014-11-21 14:49:46

+0

@Elias Van Ootegem感謝您的提示 – mwebber 2014-11-21 14:54:42

0

已進行的靜態不是功能..

也靜被稱爲與::,而不是-> ..所以你應該做的:

<?php 
class Test 
{ 
    public static $myArray = array('a', 'b'); 
} 

$test = new Test(); 
var_dump($test::$myArray); 
+0

你甚至不需要實例化一個來自'Test'類的對象;} – Havelock 2014-11-21 14:55:43

+0

這是100%真實的。 – DonSeba 2014-11-21 15:19:51

0

你爲什麼叫陣般的動感方法? 呼叫

Test::$myArray 
+0

出於無知:) – 2014-11-21 15:11:37

0

這個類有沒有構造所以在做new Test();您可以直接與類名訪問靜態類中沒有點

<?php 

class Test{ 

public static $myArray = array('a', 'b'); 

} 

var_dump(Test::$myArray); 

?> 
+0

該類沒有構造函數,因爲它是一個愚蠢的測試類。真正的類顯然是它的構造函數。 – 2014-11-21 15:11:06

+0

@LorenzMeyer你應該在下一次你的問題中指定。 – rottenoats 2014-11-21 15:13:50

相關問題