我在游戏中有以下页面结构。
第1页 callGameEngine.php (它返回游戏输出(JSON数组),$ gameInfo2return,通过ajax),就这个问题而言,我们可以看到它需要游戏引擎页面,然后发送游戏引擎相关参数...... require 'gameEngine.php'; //includes only engine() function
$gameInfo2return = engine ($parameter1,$parameter2,ecc);
echo $gameInfo2return;//the AJAX return
第2页 gameEngine.php (引擎本身可以在长循环中产生许多变量,数组等)
其中两个ARRAYS是大型2d阵列,均为40乘60(最后一个值为数组[39] [59])这些阵列代表游戏的土地,所以地形长40公里,长60公里。 ($ bigTerrainArray)。它们被连续引用但不需要修改。因为它们非常大,所以我不想通过将它们直接传递给函数来生成它们的副本,而是希望将它们作为全局变量来访问它们。
$bigTerrainArray = (array 40x60);
此页面还使用了另一个页面engineFunctions.php,
require 'engineFunctions.php'; //including a function lets call bomb().
$goodBomb = bomb($xCoOrd,$yCoOrd);
第3页 engineFunctions.php * *这里有问题...不能将大数组作为变量传递给我想要以全局变量访问它们。但是这里的一个功能不会理解全局...所以我该怎么办?
function bomb ($xCoOrd,$yCoOrd){
global $bigTerrainArray;
etc etc etc
}
问题是
1 范围,因为这个结构不起作用,变量$ bigTerrainArray无法通过global访问,因为这样的嵌套函数然后调用global不会工作,所以如何访问$ bigTerrainArray ?
和
2 效率,继续访问$ bigTerrainArray的最有效方法是什么?