我正在尝试制作一个用户定义的游戏地图列表。因为我不知道在设计时数组中有多少地图,我试图动态地创建新变量来包含它们。这甚至有可能吗?这里是我的失败尝试:PHP:这样的代码可能吗?
<?php
$maplist=array("map1.aamap.xml","map2.aamap.xml"); //edit this list with your maps
$rounds = 3; //times to play each map
/*======No need to edit below========*/
global $last; //store the last played map
class Map
{
public $difficulty;
public $played; //amount of times played
}
foreach($maplist as $i => $element)
{
$element = $map[$i];
$map[$i] = new Map();
}
//snipped other code here
$map[$i]->$played = $x++; //increment the times played counter <-- FAILS HERE
?>
解析器说:Fatal error: Cannot access empty property
是这样的以这种方式甚至可行吗?
'$ map [$ i] - > $ playing = $ x ++;'出现循环且'$ i'不存在,因此错误 – Kumar
@Kumar yes但这不是问题。编辑代码并用1替换$ i也会给出相同的错误 – dukevin
@Kumar:编号'$ i'在全局范围内定义,所以它在循环后仍然存在,保持最后一个数组元素的键值(在这种情况下为'1')。 –