如何以矩阵格式获取用户输入以在 php 中执行矩阵加法?有人有建议吗?
问问题
3464 次
3 回答
2
用两个输入框给用户一个选项。第一个用于行,第二个用于列;通过javascript根据这些输入生成一个表格,每个输入框名称都应在生成时基于行和列的数组中。假设,用户输入:- 行:3 列:3
通过 javascript 生成表格,您的表格应该是
<table>
<tr>
<td><input type="textbox" name="matrix[0][]" value=""/> </td>
<td><input type="textbox" name="matrix[0][]" value=""/> </td>
<td><input type="textbox" name="matrix[0][]" value=""/> </td>
</tr>
<tr>
<td><input type="textbox" name="matrix[1][]" value=""/> </td>
<td><input type="textbox" name="matrix[1][]" value=""/> </td>
<td><input type="textbox" name="matrix[1][]" value=""/> </td>
</tr>
<tr>
<td><input type="textbox" name="matrix[2][]" value=""/> </td>
<td><input type="textbox" name="matrix[2][]" value=""/> </td>
<td><input type="textbox" name="matrix[2][]" value=""/> </td>
</tr>
</table>
并在表单发布时得到一个二维数组。
<?php
$matrixArr = $_POST['matrix']; // it will be a two dimenssion array having value as matrix have
?>
于 2013-08-06T05:36:47.193 回答
1
最简单(也可能是最直观)的方法是向用户展示 a<textarea>
并要求他们以下列格式输入矩阵值:
a b
c d
单个行中的值由空格分隔,行由换行符分隔。这是一种从提交的矩阵中生成矩阵的快速简便的方法<textarea>
:
<?php
$txt = $_POST['matrix'];
$mat = explode ("\n", $txt);
for ($i = 0; $i < sizeof ($mat); ++$i)
$mat[$i] = explode (' ', $mat[$i]);
?>
当然,相同的代码也适用于以逗号分隔的值,或者您认为合适的任何其他分隔符。
一种不太直观的方法是向用户呈现<input>
字段的文字矩阵。
于 2013-08-06T05:30:57.277 回答
1
您可以使用输入字段。
<?php
function show_matrix($num, $cols, $rows){
for($i=0; $i<$rows; $i++){
for($j=0; $j<$cols; $j++){
echo '<input size=2 name="matr['.$num.']['.$i.']['.$j.']"/>';
}
echo '<br/>';
}
}
show_matrix(0, 3, 3);
echo '<br/>';
show_matrix(1, 3, 3);
?>
第一个矩阵:$_POST['matr'][0]
,第二个:$_POST['matr'][1]
于 2013-08-06T05:40:31.167 回答