2014-11-21 86 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

相关问题