PHP 5.6.3 Parse error: syntax error, unexpected '[' in class

While I was creating a class in php, I experienced this error:

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

A simple example:

<?php

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

?>

I already had a look at Reference - What does this error mean in PHP? but this doesn't seem to fit to my case. The problem of all other existing Questions seem to rely to an old PHP Version. But I am using PHP 5.6.3!

What can I do? Am I just sightless?


You can't explicitly create a variable like that (array index). You'd have to do it like this:

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

Alternatively, you could do (as most people would), this:

class MyClass {
    public $variable = array();

    function __construct(){
        $this->variable['attribute'] = 'property';
    }
}
// instantiate class
$class = new MyClass();

我想你应该按照下面的方式声明它:

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

Make an array first. Use the code below

<?php

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

}

?>

HOpe this helps you

链接地址: http://www.djcxy.com/p/11958.html

上一篇: 语法错误,意外的T

下一篇: PHP 5.6.3解析错误:语法错误,在类中出现意外的'[''