我有一个简单的课程:
class Test
{
public static $myArray = array('a', 'b');
}
$test = new Test();
var_dump($test->myArray());
null
我希望array('a', 'b')
作为输出,但我得到null。为什么?
答案 0 :(得分:1)
像这样访问它
<?php
class Test
{
public static $myArray = array('a', 'b');
}
$test = new Test();
var_dump($test::$myArray);
?>
答案 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);
应该有效