php经典例子的问题

qianxy1973 2010-11-22 08:08:07
针对猩猩的测试那个例子,我输出了$second[0],$second[1],$second[2],$second[3],结果是正确的,可是count($second)或者count($second[])输出结果都是1,查资料说这样的结果说明$second不是数组,那么怎么定义这个数组?另外我目前的写法怎么求$second中单元的个数?
代码如下:
<html>
<head>
<title>调查表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<?php
function display_form() {
global $PHP_SELF;
?>
<FORM action="<?php echo $PHP_SELF;?>" METHOD=post>
名字:<INPUT TYPE=TEXT NAME="name"><BR>
单项选择:
<INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨
<INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨
<INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒 <br/>
多项选择:
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢打蓝球">我喜欢打蓝球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢游泳">我喜欢游泳
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢跳舞">我喜欢跳舞
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢爬山">我喜欢爬山
<INPUT TYPE=HIDDEN NAME="stage" VALUE= "results">
<p>
<INPUT TYPE=SUBMIT VALUE= "谢谢">
</p>
</FORM>
<?php
}
?>

<?php
function process_form() {
global $name ;
global $first;
global $second;
$second = $_POST['second'];
if ($first == '我很笨') {
$first_message = '你不笨。';
}
elseif ($first == '我非常笨') {
$first_message = '你很聪明。';
}
else {
$first_message = '你简直就象是一个聪明的人了。';
}
$favorite_second = count($second);
if ($favorite_second = 1) {
$second_message = '但你很快就会在动物园里死去,忏悔吧!';
}
elseif ($favorite_second > 1 && $favorite_second <4) {
$second_message = '你是只爱运动的的猩猩。';
}
else {
$second_message = '你运动的太多了,对猩猩来讲已经过量,你准备棺材吧,:(';
}
echo "这是一项针对猩猩的测试:<br/><br/>";
echo "你好! 你的名字叫:$name<br/><br/>";
echo "你的测验结果是。。。。。$first_message<br/>$second_message";
echo $second[2];
}
?>
<?php
if (empty($stage)) {
display_form();
}
else {
display_form();
process_form();
}
?>
</body>
</html>
...全文
128 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaozhen1990 2010-11-22
  • 打赏
  • 举报
回复


$favorite_second = count($second); if ($favorite_second = 1) {
$second_message = '但你很快就会在动物园里死去,忏悔吧!';
}

就是数组。 你打印这个数组看看为啥总是1。
qianxy1973 2010-11-22
  • 打赏
  • 举报
回复
哎 一个低级错误就浪费了我这么多时间。。。
if ($favorite_second = 1)应该是
if ($favorite_second == 1)
xuzuning 2010-11-22
  • 打赏
  • 举报
回复
不存在你说的现象
qianxy1973 2010-11-22
  • 打赏
  • 举报
回复
难道20分太少吗?

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧