我有问题。我已经创建了一个类' Game'在这个类中我有一个名为' ShadowField'的数组。此字段包含对象('字段'):
class Game extends Gameboard
{
public $ShadowField = array();
public $GameField = array();
public $Home = array();
function __construct($c,$h,$w,$m,$fc){
parent::__construct($c,$h,$w);
$counter = 1;
for($index_h=0; $index_h<11; $index_h++){
for($index_w=0; $index_w<11; $index_w++){
array_push($this->ShadowField, new Field(parent::$this, $m, "FF8000", ($h/11.1)*$index_h, ($w/11.15)*$index_w, true, $counter, $index_h, $index_w));
$counter++;
}
}
$PlayerRed = new PlayerHome($this, $m, "FF0000", 0);
}
}
然后,在我的下一堂课中,我尝试使用这个数组,但后来我收到了一个错误:
for($i=0;$i<4;$i++){
parent::__construct($game,$m,$c,$game->ShadowField[$FieldID[$i]]->Top,ShadowField[$FieldID[$i]]->Left);
}
错误:
Parse error: syntax error, unexpected '[' in C:\XAMPP\xampp\htdocs\ot\madn\Game.class.php on line 63
我不理解它,因为它是一个数组,我把它称为数组,所以问题是什么?
&#34; FieldID&#34;也是一个数组:
class PlayerHome extends Field
{
public $Color;
public $Player;
public $FieldID = array();
function __construct(Game $game, $m, $c, $p){
switch($p){
case 0: array_push($FieldID,1,2,12,13);
case 1: array_push($FieldID,10,11,21,22);
case 2: array_push($FieldID,100,101,111,112);
case 3: array_push($FieldID,109,110,120,121);
default:echo "Player_$p existiert nicht, bitte eine SpielerID zwischen 0-3 wählen.";
}
for($i=0;$i<4;$i++){
parent::__construct($game,$m,$c,$game->ShadowField[$FieldID[$i]]->Top,ShadowField[$FieldID[$i]]->Left);
}
}
}
(对不起英语不好)
答案 0 :(得分:2)
您第一次正确使用它:
$game->ShadowField[$FieldID[$i]]->Top
但是第二次在不引用对象的情况下自己调用ShadowField:
ShadowField[$FieldID[$i]]->Left
用这个替换循环中的行(格式化为可见性):
parent::__construct($game,
$m,
$c,
$game->ShadowField[$FieldID[$i]]->Top,
$game->ShadowField[$FieldID[$i]]->Left);