当一个索引是常量时,如何打印整个数组。
为了理解目的,我制作了这个数组
$actionF = array(
"enemyHlth" => array(array()),
"enemyBlts" => array(array())
);
带输入
3 2 1
1 2 3
3 2 1
1 2 3
3 2 1
1 2 3
数组结构应该存储在3D数组下的前三行 第三维只是一个恒定的“敌人健康”,而三维则是三维 第三维“Enemy Bullets”的数组相同。这两个3D数组都存储在一个名为ActionF
的数组中现在当我尝试打印时
for($level=0;$level<$n;$level++){
$actionF["enemyHlth"] = array ( $level => fscanf($_fp,"%d\t%d\t%d\n")
);
}
for($bullets = 0;$bullets<$m; $bullets++){
$actionF["enemyBlts"] = array ( $bullets => fscanf($_fp,"%d\t%d\t%d\n")
);
}
print_r($actionF);
输出
3 2 1
我认为它正在打印上述I / P的最后一个指数。怎么做 一个二维数组,当第三维只是一个常数或者我还缺少其他东西吗?
答案 0 :(得分:1)
我重写了你的代码,我觉得它的效果很好:
首先,输入:
$actionF = array(
"enemyHlth" => array(),
"enemyBlts" => array()
);
for($level=0;$level<$n;$level++){
$line = fgets($_fp);
$processed = explode(" ", $line);
if ($line != false) {
$actionF["enemyHlth"][$level] = $processed;
}
}
for($bullets = 0;$bullets<$m; $bullets++){
$line = fgets($_fp);
$processed = explode(" ", $line);
if ($line != false) {
$actionF["enemyBlts"][$bullets] = $processed;
}
}
这是输出:
for($i=0;$i<$n;$i++){
for($j=0;$j<$m;$j++){
print $actionF["enemyHlth"][$i][$j];
}
print "\n";
}