Я работаю над случайным генератором карт RPG, который вставляется в базу данных для последующего поиска. В основном пользователь вводит некоторые мелкие детали в форме и указывает, сколько плиток каждого ландшафта им нужно иметь на карте. Затем плитки произвольно вставляются в карту и базу данных. Я вставляю плитки в массив и затем перетасовываю результаты. Я делаю цикл через массив и цикл и X & Y сетку, чтобы вставить данные о местности. Но каждый раз, когда я делаю это, я получаю ошибку памяти: Фатальная ошибка: Разрешены памяти размером 268435456 байт исчерпаны (пытались выделить 32 байт) Это мой код:Попытка создать сетку в массиве возвращает фатальную ошибку памяти в php
$gridarray = array();
for ($jungle1 = 0; $jungle1 <= $jungle -1; $jungle1++) {
array_push($gridarray,"jungle");
}
for ($swamp1 = 0; $swamp1 <= $swamp -1; $swamp1++) {
array_push($gridarray,"swamp");
}
for ($cave1 = 0; $cave1 <= $cave -1; $cave1++) {
array_push($gridarray,"cave");
}
for ($mountain1 = 0; $mountain1 <= $mountain -1; $mountain1++) {
array_push($gridarray,"mountain");
}
for ($ocean1 = 0; $ocean1 <= $ocean -1; $ocean1++) {
array_push($gridarray,"ocean");
}
for ($volcanic1 = 0; $volcanic1 <= $volcanic -1; $volcanic1++) {
array_push($gridarray,"volcanic");
}
for ($desert1 = 0; $desert1 <= $desert -1; $desert1++) {
array_push($gridarray,"desert");
}
for ($dirt1 = 0; $dirt1 <= $dirt -1; $dirt1++) {
array_push($gridarray,"dirt");
}
for ($forest1 = 0; $forest1 <= $forest -1; $forest++) {
array_push($gridarray,"dirt");
}
for ($arctic1 = 0; $arctic1 <= $arctic -1; $arctic++) {
array_push($gridarray,"arctic");
}
for ($grass1 = 0; $grass1 <= $grass -1; $grass++) {
array_push($gridarray,"grass");
}
echo '<table cellspacing="0" cellpadding="0" border="0">';
$gridsquare = $xsize * $ysize;
$grid = 0;
shuffle($gridarray);
for ($x = 1; $x <= $xsize; $x++) {
echo '<tr>';
for ($y = 1; $y <= $ysize; $y++) {
$terrain = $gridarray[$grid];
$terrain_img = 'http://www.sw-bfs.com/images/grids/' . $terrain . '.png';
$query2 = " INSERT INTO terrain (ent_id, ent_type, grid_img, grid_type, grid_exit_e, grid_exit_w, grid_exit_s, grid_exit_n, grid_exit_u, grid_exit_d, x, y) VALUES ('$loc_id', 'terrain', '$terrain_img', '$terrain','1', '1', '1', '1', '0', '0', '$x', '$y') ";
$result2 = mysql_query($query2) or die(mysql_error());
echo '<td><img src="' . $terrain_img . '" title="' . $terrain . '"/></td>';
$grid++;
}
echo '</tr>';
}
echo "</table>";
Это говорит мне, что ошибка происходит на линии, которая читается как это:
array_push($gridarray,"arctic");
}
Очевидно, что я делаю что-то не так или, по крайней мере, я не пишу код достаточно эффективно. Прости меня, я все еще учусь. Может ли кто-нибудь помочь? Заранее спасибо.