【发布时间】:2012-09-06 11:32:48
【问题描述】:
由于我之前的问题简化了,我正在尝试在 PHP 中学习 3D 数组,但每节课我都变得难以理解。
我已经准备了带有空 3D(分层)数组的代码,但不知道如何:
- 用 MySQL 数据库中的数据填充它
- 显示/引用它,如:
echo $result_value[x][y][z]给出value
.
include_once 'connect.php';
$player_id = '6';
$result_value = array();
$pullMapInfo = "SELECT x, y, z, value FROM mapinfo WHERE id='{$player_id}'";
$pullMapInfo2 = mysql_query($pullMapInfo) or die(mysql_error());
while ( $pullMapInfo3 = mysql_fetch_assoc($pullMapInfo2) ) {
$result_value = array(
array(
array('', '', ''),
array('', '', ''),
array('', '', ''),
),
array(
array('', '', ''),
array('', '', ''),
array('', '', ''),
),
array(
array('', '', ''),
array('', '', ''),
array('', '', ''),
)
);
}
for($z = 1; $z <= 3; $z++){
for($x = 1; $x <= 16; $x++){
for($y = 1; $y <= 16; $y++){
# echo database row's divided among layers (z parameter) for ex.: 1,1,1 = red (X,Y,Z = color value) - 1 width & 1 height on 1st layer contains red value
# to get access to it like this: $result_value[x][y][z] => [value];
}
}
}
【问题讨论】:
-
为什么需要多维数组?
-
这与我的问题的性质无关
-
清楚地了解问题的上下文通常更方便,有时它可以让我们通过问题的替代方法给出更好的答案。在这种情况下,我本可以建议使用 3dPoint 类和
mysql_fetch_object的 OOP 替代方案。当他们要求澄清时,回答愿意帮助你的人也被认为很好。
标签: php mysql arrays multidimensional-array