Когда я создавал класс в 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!
Что я могу сделать? Я просто не вижу?
Вы не можете явно создать такую переменную (индекс массива). Вы должны сделать это так:
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();
Я думаю, вы должны объявить это так, как показано ниже:
class MyClass
{
public $variable = array( "attribute" => "I'm a class property!" );
}
Сначала создайте массив. Используйте код ниже
<?php
class MyClass
{
public $variable = array("attribute"=>"I'm a class property!");
}
?>
Надеюсь, это поможет вам
Вы не можете объявить учеников таким образом. Также вы не можете использовать выражения в объявлениях членов класса.
Есть два способа достичь того, что вы ищете:
class MyClass
{
public $variable;
function __construct()
{
$variable["attribute"] = "I'm a class property!";
}
}
или как это
class MyClass
{
public $variable = array("attribute" => "I'm a class property!");
}