请问用php怎么遍历页面中表单的每个文本框? php可没有那么复杂提交后print_r($_POST);你就可以看到所有的数据的分布至于做什么,怎么做。就由你自己定了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上面那个位高手,能否详细说来听,举个例子看看吧,还有print_r($_POST)返回的是什么值? 还有print_r($_POST)返回的是什么值?---------------------------------------楼上的,就不能看看书册里面关于这个函数的介绍吗?print_r(PHP 4 , PHP 5)print_r -- 打印关于变量的易于理解的信息。 描述bool print_r ( mixed expression [, bool return])注: 参数 return 是在 PHP 4.3.0 的时候加上的 print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。 <pre><?php $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z')); print_r ($a);?></pre> 上边的代码将输出: <pre>Array( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ))</pre> 如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。 例子 1. return 参数示例<?php $b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z')); $results = print_r ($b, true); //$results 包含了 print_r 的输出结果?> 注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。 注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。 Array ( [NO79] => A [NO75] => C [NO1] => C [NO86] => B [NO67] => [NO20] => [NO25] => [NO72] => [NO68] => [NO70] => [NO65] => [NO73] => [NO62] => [NO26] => [starttime] => 20:25:46 [endtime] => 22:25:46 [testtime] => 2 [mystarttime] => 20:25:46 [myendtime] => 22:25:46 [lefttime] => 1:59:54 [B3] => 我要交卷 )这是我用print_r($HTTP_POST_VALS); 得到的结果,但我想要的是把它们每个都单独拿出来,不知道怎么实现 echo $HTTP_POST_VALS['NO79'];看看能获得什么 foreach($HTTP_POST_VALS as $key=>$value) echo $key . ' = ' . $value . '<br>'; 大家都那么麻烦做什么?如此做,表单中的文本框都命名为"data[]",然后再处理的页面中如此做:$data = $_POST['data']; for($i=0;$i<count($data);$i++) { echo "----------------->".$data[$i]; }看看,你的问题是不是完美地解决了啊! 谢谢各位,在大家的帮助下,我自己解决了问题,我用到了两个函数,如下:array_walk($HTTP_POST_VARS,'test_print');function test_print ($item2, $key) //循环进行判断后加分{ global $score; $aa=substr($key,2); //echo $aa."<br>".count($item2); for($i=0;$i<count($item2);$i++) { $bb.=$item2[$i].","; } $bb=substr($bb,0,strlen($bb)-1); //echo $bb; $query="select * from exam_database where ID=".$aa; $result=mysql_query($query); if($result) { while($array=mysql_fetch_array($result)) { if($array['Type']=='单选题') { if($array['Anwser']==$item2) $score=$score+$array['Mark']; //add the score } elseif($array['Type']=='多选题') { //$cc=split(",",$array['Anwser']); // echo $cc[0].$cc[1].$bb; if(!strpos($array['Anwser'],$bb)) { $score=$score+$array['Mark']; } } elseif($array['Type']=='判断题') { if($array['Anwser']==$item2) $score=$score+$array['Mark']; } else { if(!strpos($array['Anwser'],$item2)) $score=$score+$array['Mark']; } } }}谢谢各位了,结帖。 当然还有别的办法,如表单中的文本框也可命名为===== data<?=$i?> =======当然,$i是循环变量,呵呵,接收处理我就不多说了 iis7.0+php上传特大文件解决方案。 [实例提问] 将子查询分开写 AJAX新手问题 请教关于清除分词结果中的一个字 CI框架搜索中文后分页出错 请教一个 require_once 包含问题 请问怎么读取BMP文件 为什么我的选择语句运行不了?? if {} else {} ??真的很奇怪!! 有空帮我看看 在线播放的问题 按照路径移动文件 小测验 PHP:请问怎样将字符串转换为数字,比如将“1000”转换为1000.
---------------------------------------
楼上的,就不能看看书册里面关于这个函数的介绍吗?print_r
(PHP 4 , PHP 5)print_r -- 打印关于变量的易于理解的信息。
描述
bool print_r ( mixed expression [, bool return])
注: 参数 return 是在 PHP 4.3.0 的时候加上的 print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。 <pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
</pre> 上边的代码将输出: <pre>
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
</pre>
如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。 例子 1. return 参数示例<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r ($b, true); //$results 包含了 print_r 的输出结果
?>
注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。 注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。
看看能获得什么
echo $key . ' = ' . $value . '<br>';
for($i=0;$i<count($data);$i++)
{
echo "----------------->".$data[$i];
}
看看,你的问题是不是完美地解决了啊!
array_walk($HTTP_POST_VARS,'test_print');function test_print ($item2, $key) //循环进行判断后加分
{
global $score;
$aa=substr($key,2);
//echo $aa."<br>".count($item2);
for($i=0;$i<count($item2);$i++)
{
$bb.=$item2[$i].",";
}
$bb=substr($bb,0,strlen($bb)-1);
//echo $bb;
$query="select * from exam_database where ID=".$aa;
$result=mysql_query($query);
if($result)
{
while($array=mysql_fetch_array($result))
{
if($array['Type']=='单选题')
{
if($array['Anwser']==$item2)
$score=$score+$array['Mark']; //add the score
}
elseif($array['Type']=='多选题')
{
//$cc=split(",",$array['Anwser']);
// echo $cc[0].$cc[1].$bb;
if(!strpos($array['Anwser'],$bb))
{
$score=$score+$array['Mark'];
}
}
elseif($array['Type']=='判断题')
{
if($array['Anwser']==$item2)
$score=$score+$array['Mark'];
}
else
{
if(!strpos($array['Anwser'],$item2))
$score=$score+$array['Mark'];
}
}
}
}
谢谢各位了,结帖。
当然,$i是循环变量,呵呵,接收处理我就不多说了