Как напечатать весь массив, когда третье измерение является постоянным

Как напечатать весь массив, когда один индекс постоянен.

Для понимания я сделал этот массив

$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

Структура массива должна хранить первые три строки под трехмерным массивом с
3-е измерение — это просто постоянное «здоровье врага», а третье — в 3D
массив с таким же для 3-го измерения «Вражеские пули». И оба эти двух 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. Как сделать
2D массив, когда третье измерение — это просто константа или я что-то упускаю?

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";
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]