【发布时间】:2019-04-03 08:42:24
【问题描述】:
我是 php 新手,所以我试图编写一个添加两个 3x3 矩阵的程序。我在 php 代码中多次收到未定义的符号错误。
在 php 中定义多维数组有什么不同的方法。`
已经有很多关于如何解决一维数组的这个问题的程序。它们是硬编码默认值。为数组中的每个元素指定默认值将非常耗时。
这是我的代码:
<html>
<head></head>
<body>
<form action="matAdd.php" method="post">
Enter values in first matrix:
<table cellpadding=10 cellspacing=10>
<tr>
<td>
<table>
<tr><td colspan="3">Matrix 1</td>
</tr>
<tr>
<td><input type="number" name="m00" size="3" required/></td>
<td><input type="number" name="m01" size="3" required/></td>
<td><input type="number" name="m02" size="3" required/></td>
</tr>
<tr>
<td><input type="number" name="m10" size="3" required/></td>
<td><input type="number" name="m11" size="3" required/></td>
<td><input type="number" name="m12" size="3" required/></td>
</tr>
<tr>
<td><input type="number" name="m20" size="3" required/></td>
<td><input type="number" name="m21" size="3" required/></td>
<td><input type="number" name="m22" size="3" required/></td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td colspan="3">Matrix 2</td>
</tr>
<tr>
<td><input type="number" name="n00" size="3" required/></td>
<td><input type="number" name="n01" size="3" required/></td>
<td><input type="number" name="n02" size="3" required/></td>
</tr>
<tr>
<td><input type="number" name="n10" size="3" required/></td>
<td><input type="number" name="n11" size="3" required/></td>
<td><input type="number" name="n12" size="3" required/></td>
</tr>
<tr>
<td><input type="number" name="n20" size="3" required/></td>
<td><input type="number" name="n21" size="3" required/></td>
<td><input type="number" name="n22" size="3" required/></td>
</tr>
</table>
</td>
</tr>
</table>
<center><input type="submit" value="Add"/></center>
</form>
</body>
</html>
<?php
$m = array(array());
$n =array(array());
$sum= array(array());
for($i=0;$i<3;$i++)
{
for($j=0;$j<3;$j++)
{
$m[$i][$j]=$_POST['m'.$i.$j];
$n[$i][$j]=$_POST['n'.$i.$j];
$sum[$i][$j]=$m[$i][$j]+$n[$i][$j];
}
}
echo 'Addition is :';
echo '<table border=1 style="border-collapse:collaspe">';
for($i=0;$i<3;$i++)
{
echo '<tr>';
for($j=0;$j<3;$j++)
{
echo '<td>'.$sum[$i][$j].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>
我在嵌套的 for 循环中遇到错误,我将值从 post 方法获取到多维数组中。
【问题讨论】:
-
预期输入和预期输出是多少?
-
你真的想要
$m = array(array(), array(), array())这样的东西,而不是$m = array(array())。 -
嗯...我认为
<form>至少应该是<form method="post"> -
@EugeneAnisiutkin 是的,我忘记写了,但错误仍然存在。
标签: php arrays multidimensional-array php-5.3 undefined-index