Эй, ребята, у меня странная проблема при попытке использовать глобальный массив в php.
Я даже не хочу использовать глобальный массив, но вот что я пытаюсь сделать.
У меня есть 2 функции
createMatrix ($ name), который создает матрицу текстовых полей 5x5 и запоминает значения loadMatrix ($ name), который загружает матрицу 5x5 из данных постов.
Для некоторыхпричина, после того как я запустил loadMatrix (), значения, которые я установил, теряются в createMatrix ()
Я перепробовал кучу методов отладки и объявил свои матричные переменные глобальными, но не повезло.Я знаю, что это проблема с областью действия, потому что когда я пытался запустить все за пределами функций, он работал просто отлично.
<form action="Program4.php" method="post">
<?php
$matrixa = array(array());
$matrixb = array(array());
if($_POST['add'])
echo "Add Clicked";
if($_POST['subtract'])
echo "Subtract Clicked";
function loadArrays($name1,$name2) {
//The Solution: global $matrixa, $matrixb;
for($x = 0; $x < 5; $x++)
for($y = 0; $y < 5; $y++) {
$matrixa[$x][$y] = $_POST[$name1 . $x . $y];
$matrixb[$x][$y] = $_POST[$name2 . $x . $y];
}
}
function createMatrix($name) {
//The Solution: global $matrixa, $matrixb;
echo "<h2>" . $name . "</h2>\n";
for($x = 0; $x < 5; $x++)
echo $matrixa[0][$x];
echo "<div style=\"border:ridge; border-width:7px; padding:12px; float:left; background-color:gray\">\n";
for($x = 0; $x < 5; $x++) {
for($y = 0; $y < 5; $y++) {
echo "<input type=\"text\" name=\"" . $name . $x . $y . "\" maxlength=\"6\" style=\"width:50px\" value=\"";
if($name == "MatrixA")
echo "" . $matrixa[$x][$y];
else if($name == "MatrixB")
echo "" . $matrixb[$x][$y];
echo "\">\n";
}
echo "<br>\n";
}
echo "</div>\n";
echo "<br><br><br><br><br><br><br><br><br>\n";
}
loadArrays("MatrixA","MatrixB");
createMatrix("MatrixA");
createMatrix("MatrixB");
?>
<input type="submit" value="Add Matrices" name="add" />
<input type="submit" value="Subtract Matrices" name="subtract" />
</form>
Этот проект должен быть в полночь, поэтому я был бы признателен за некоторую помощь:)
В основном проблема заключается в попытке сохранить значения.Я могу загрузить переменные из данных поста в массивы, используя loadArrays (), но значения не отображаются вообще, когда я использую createMatrix ();