1

当我在 php 中创建一个类时,我遇到了这个错误:

Parse error: syntax error, unexpected '[', expecting ',' or ';' on line 5 

一个简单的例子:

<?php

class MyClass
{
  public $variable["attribute"] = "I'm a class property!";
}

?>

我已经看过参考 - 这个错误在 PHP 中意味着什么?但这似乎不适合我的情况。所有其他现有问题的问题似乎都依赖于旧的 PHP 版本。但我使用的是 PHP 5.6.3!

我能做些什么?我只是瞎了吗?

4

4 回答 4

2

您不能显式创建这样的变量(数组索引)。你必须这样做:

class MyClass {
    // you can use the short array syntax since you state you're using php version 5.6.3
    public $variable = [
        'attribute' => 'property'
    ];
}

或者,您可以(像大多数人一样)这样做:

class MyClass {
    public $variable = array();

    function __construct(){
        $this->variable['attribute'] = 'property';
    }
}
// instantiate class
$class = new MyClass();
于 2015-01-11T12:46:28.687 回答
1

你不能像这样声明类成员。您也不能在类成员声明中使用表达式。

有两种方法可以实现您正在寻找的内容:

class MyClass
{
    public $variable;
    function __construct()
    {
        $variable["attribute"] = "I'm a class property!";
    }
}

或者像这样

class MyClass
{
    public $variable = array("attribute" => "I'm a class property!");
}
于 2015-01-11T12:52:44.367 回答
1

我想您应该按照如下所示的方式声明它:

class MyClass
{
   public $variable = array( "attribute" => "I'm a class property!" );
}
于 2015-01-11T12:46:01.293 回答
1

先做一个数组。使用下面的代码

<?php

class MyClass
{
public $variable = array("attribute"=>"I'm a class property!");

}

?>

希望这对你有帮助

于 2015-01-11T12:47:53.150 回答