静态数组属性在php中不可能吗?
下面是我用php编写的代码,我发现了一个错误: 分析错误:语法错误,第4行/LR_StaticSettings.php中出现意外的“[”静态数组属性在php中不可能吗?,php,class,static,Php,Class,Static,下面是我用php编写的代码,我发现了一个错误: 分析错误:语法错误,第4行/LR_StaticSettings.php中出现意外的“[” 我想静态地使用not$this->arrrr[$key],这样我就可以在不创建实例/对象的情况下获取和设置静态属性 为什么会出现这个错误?我们不能创建静态数组吗 如果有其他方法,请告诉我。谢谢您需要将该变量声明为静态成员变量,并在引用时在其名称前加上美元符号: class StaticSettings{ private static $arrErr
我想静态地使用not$this->arrrr[$key]
,这样我就可以在不创建实例/对象的情况下获取和设置静态属性
为什么会出现这个错误?我们不能创建静态数组吗
如果有其他方法,请告诉我。谢谢您需要将该变量声明为静态成员变量,并在引用时在其名称前加上美元符号:
class StaticSettings{
private static $arrErr = array();
function setkey($key,$value){
self::$arrErr[$key] = $value;
}
}
您可以这样实例化它:
$o = new StaticSettings;
$o->setKey( "foo", "bar");
print_r( StaticSettings::$arrErr); // Changed private to public to get this to work
您可以看到它在中工作。您的代码没有将
$arrrr
定义为静态成员变量。您应该将其声明为
<?php
class StaticSettings{
public static $arrErr = array();
function setkey($key,$value){
self::arrErr[$key] = $value;
}
}
?>
<代码> >您的代码没有定义“代码> $ARRRR < /代码>作为静态成员变量。您应该将其声明为“代码>公共静态$ARRRR=ARARY();< /代码>没有投票的理由。我发现这个问题对我有帮助。所以,请表决。OP应该考虑接受回答。谢谢。我错过了$标志。现在它正在工作。<代码>类静态设置。{private static$arrrr=array();function setkey($key,$value){self:$arrrr[$key]=$value;}}
。这是我愚蠢的错误。在php中,不需要定义变量。我们只需简单地使用它。不需要编写,private static$arrr=array();
@user1463076-这不是真的。如果忽略它。
<?php
class StaticSettings{
public static $arrErr = array();
function setkey($key,$value){
self::arrErr[$key] = $value;
}
}
?>