21,882
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="JavaScript">
<!--
var xmlHttp = false;
try
{
xmlHttp = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
xmlHttp = false;
}
}
}
if (!xmlHttp){
alert("Error initializing XMLHttpRequest!");}
function GetResult(value){
if(value){
var value=value.replace(/[\r\n]+/g,"@")
var url="showinfo.php?infovalue="+value;
var linkurl=url;//根据传递过来的变量后台查询
xmlHttp.open("GET",linkurl,true);
xmlHttp.onreadystatechange = callback;//触发callback事件,以判断信息是否正确
xmlHttp.send(null);
}
}
function callback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
document.getElementById("showinfo").value=xmlHttp.responseText;//把返回的信息赋给ID为showinfo的DIV
}
}
}
//-->
</SCRIPT>
</head>
<body>
<table>
<tr>
<td>矩阵A:</td>
<td>结果</td>
</tr>
<tr>
<td><textarea name="matrixA" rows="14" cols="42" onblur="GetResult(this.value)"></textarea>
</td>
<td><textarea name="matrixB" rows="14" cols="42" id="showinfo"></textarea>
</td>
</tr>
</table>
</body>
</html>
<?php
function foo($v) {
return split(' +', $v);
}
if($_GET['infovalue']) {
$arr = array_map('foo', split("@", trim($_GET['infovalue'])));
}
$result=0;
foreach($arr as $key=>$value){
foreach($value as $key=>$svalue){
$result=$result+$svalue;
}
}
echo $result;
?>
function colsplit($v) {
return split(chr($_POST['delimiter'])." *", $v);
}
function coljoin($v) {
return join(chr($_POST['delimiter']), $v);
}
$ret = '请输入正确数据';
if($_POST) {
$a = array_map('colsplit', split("[\r\n]+", $_POST['matrixA']));
$b = array_map('colsplit', split("[\r\n]+", $_POST['matrixB']));
if($a && $b) {
$fmt = "%.$_POST[decimals]f";
for($i=0;$i<count($a);$i++) {
for($j=0;$j<count($b[0]);$j++) {
$p = 0;
for($k=0;$k<count($a[0]);$k++)
$p += $a[$i][$k] * $b[$k][$j];
$c[$i][$j] = sprintf($fmt, $p);
}
}
$ret = join("\r\n",array_map('coljoin', $c));
}
}
echo <<< HTML
<form method="post">
<table>
<tr>
<td>矩阵A:</td>
<td>矩阵B:</td>
<td>结果</td>
</tr>
<tr>
<td><textarea name="matrixA" rows="14" cols="42">$_POST[matrixA]</textarea>
</td>
<td><textarea name="matrixB" rows="14" cols="42">$_POST[matrixB]</textarea>
</td>
<td><textarea name="matrixC" rows="14" cols="42">$ret</textarea>
</td>
</tr>
</table>
<br>
分隔符:<select size="1" name="delimiter">
<option value="32">空格</option>
<option value="9">Tabs</option>
<option value="44" selected>逗号</option>
</select> 小数位数:<select size="1" name="decimals">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected>3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="9">9</option>
<option value="12">12</option>
<option value="15">15</option>
</select>
<br>
<hr>
<input type="submit" value="Multiply A*B" name="GO" title="Multiply">
<br>
<hr>
</form>
HTML;
<?php
function foo($v) {
return split(' +', $v);
}
if($_POST) {
$d1 = array_map('foo', split(" *[\r\n]+", trim($_POST['d1'])));
}
print_r($d1);
?>
<form method=post>
<textarea name=d1>1.0 2.0 3.0
4.0 5.0 6.0
7.0 8.0 9.0
</textarea>
<br>
<input type=submit value=test>
</form>