为什么我的公共静态数组没有定义?

时间:2014-11-21 14:44:00

标签: php object

我有一个简单的课程:

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

$test = new Test();
var_dump($test->myArray());
  

null

我希望array('a', 'b')作为输出,但我得到null。为什么?

5 个答案:

答案 0 :(得分:1)

像这样访问它

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

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

PHP - STATIC

答案 1 :(得分:0)

你所做的静态不是一种功能..

此外,使用::而不是->调用静态..所以你应该这样做:

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

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

答案 2 :(得分:0)

为什么调用像动态方法一样的数组? 致电

Test::$myArray

答案 3 :(得分:0)

这个类有没有构造函数所以在执行new Test();时有没有意义你可以直接使用类名<访问静态类/强>

<?php

class Test{

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

}

var_dump(Test::$myArray);

?>

答案 4 :(得分:-1)

您是以方法(功能)方式访问它吗?
要获得它的值,你必须将其称为静态变量

var_dump($test::myArray); 

应该有效