我想将矩阵与PHP相乘,我希望用户指定它们的大小。 所以我创建表单和输入,以便用户可以生成他的矩阵。
要上传矩阵中每个字段的值,我需要在该矩阵中输入不同的名称(我能正确理解吗?)
我的'绘制'矩阵的函数看起来像:
function Draw($matrixName, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<td>';
for ($j = 0; $j < $columns; $j++){
echo '<tr><input type="number" name="'.$nazwa.$i.$j.'"></tr>';
}
echo '</td><br>';
}
echo '</table>';
这是我的问题。我如何以后访问此名称或输入值?
我试过这个:
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST['$name.$i.$j'];
}
}
return $matrix;
}
但似乎我的$矩阵是空的。当我这样做时
var_dump($matrix[$i][$j]);
或
var_dump($_POST['$matrix[$i][$j]']);
我的浏览器说它是NULL。
所以请告诉我,我犯了错误,因为我被卡住了..
我将变量保存在$ _SESSION中,所以我将此函数称为:
$MatrixA = UploadData("A", $_SESSION['$rowsA'], $_SESSION['$columnsA']);
在此操作之前,我的值$ _SESSION ['$ rowsA']和$ _SESSION ['$ columnsA']不为空(我已经检查过var_dump)。
答案 0 :(得分:0)
首先通过放置&#34; tr&#34;来纠正表格矩阵的生成。和&#34; td&#34;第二个参数需要与您使用的名称相同,而名称&#39;更改为&#39; $ matrixName&#39;到&#39; $ nazwa&#39;
function Draw($nazwa, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<tr>';
for ($j = 0; $j < $columns; $j++){
echo '<td><input type="number" name="'.$nazwa.$i.$j.'"></td>';
}
echo '</tr>';
}
echo '</table>';
}
接下来,您从POST分配值的行,删除单引号。
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST[ $name . $i .$j ];
}
}
return $matrix;
}