私はゲームマップのユーザー定義のリストを持っています。デザイン時に配列にマップがいくつあるのかわからないので、それらを含む新しい変数を動的に作成しようとしています。これも可能ですか?ここに私の失敗の試みです: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] - > $ played = $ x ++;'の行がループしていないので、 '$ i'は存在しません。したがって、エラー – Kumar
@Kumarはい。コードを編集して$ iを1に置き換えると、同じエラーが発生する – dukevin
@Kumar:いいえ、 '$ i'はグローバルスコープで定義されているので、最後の配列要素のキーの値を保持したままループの後に存在します(この場合は「1」)。 –