万变不离其宗

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:yangzzhenhua
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  本文可以学到
  1 了解PHP程序三种最基本的程序流程
  2 通过if判断语句选择不同的结果
  3 以switch替代if完成多重选择
  
  Just Do It!
  本文的实例,为了简单起见,是通过URL来传递人物姓名变量参数的,其实我们可以做得更专业一些,通过表单中的输入框来提交姓名变量,并在文本框中显示计算结果。另外还可以通过HTML的相关知识,对网页界面做进一步美化。大家可以自己试一试,给本文的人品计算器升升级。
  
  网络大补贴
  PHP程序设计的控制流程
  限于篇幅,本文对循环结构等其他的程序结构没介绍,大家可以参考这篇文章,这里有较为详细的解说。
  网址:http://wf66.com/page/20069/160634E5C3.htm
  
  实战:人品背后的秘密
  
  网上曾一度流行一种“人品计算器”的游戏,随便输入某个人的名称,它就会计算出这个人的人品高低,除了打分外还会加一些“你的人品太差,要好好约束自己啊!”之类的评语。这个游戏纯粹是娱乐性质,你可千万别当真,不过因为它非常搞笑,确实为网站赚了不少流量。那么,今天就让我们来做一个PHP版的“人品计算器”吧。
  
  实战代码放送
  这个游戏的原理非常简单:把访问者输入的名称,按一定的规律转化为数字(即人品得分),再根据这个数字的大小进行判断,分别给出不同的评语。下面先给大家看段代码,然后再来逐一分析。如果懒得输入,可从http://work.newhua.com/cfan/200720/cfrptest.rar处直接下载。另外要注意:每一行代码前面的数字序号,是为了后面讲解方便,不需要输入。
  01   02 parse_str($_SERVER["QUERY_STRING"]);
  03 $text = ord($name);
  04 if ($text>200){
  05 $text=$text-200;
  06 }else if($text>100){
  07 $text=$text-100;
  08 }
  09
  10 if($text<20){
  11 echo "你的人品得分:$text

";
  12 echo "我怀疑你是不是人类,居然没有一点人品。";
  13 }else if($text<40){
  14 echo "你的人品得分:$text

";
  15 echo "跟你谈人品无异于对牛谈琴。";
  16 }else if($text<60){
  17 echo "你的人品得分:$text

";
  18 echo "人品还算不错,只是一不留神就会做坏事。";
  19 }else if($text<80){
  20 echo "你的人品得分:$text

";
  21 echo "已经很不错了,可以为人师表。";
  22 }else{
  23 echo "你的人品得分:$text

";
  24 echo "你就是一个完人,大家学习的楷模。";
  25 }
  26 ?>
  
  实战效果
  上面的实例我已经上传到服务器上,大家可以在网址“http://visit.cfan.com.cn/temp/cfrptest.php?name=”等号的后面输入任意人的名称,按回车键后即可看到人品计算的结果了(当然纯为娱乐性质)。比如输入人名为“小特”,结果将如图1所示:“你的人品得分:8,我怀疑你是不是人类,居然没有一点人品。”
  


  (1)
  
  层层剥笋看原理
  
  上面的实例,第1行的“”是PHP代码的开始和结束标识符,这是必须要有的,不过开始标识符中的“php”倒是可以省略成“  心细的朋友可能会发现,许多网址的最后会带一个问号“?”,问号后面还会带一串参数。比如你在百度搜索“einstein”,会看到地址栏变成了:“http://www.baidu.com/s?wd=einstein&cl=3”这就是浏览器向服务器传递参数的所谓GET方法。为了简单起见,本例也是通过URL来传递人名参数的,第2行的parse_str函数就是用来提取URL后面的人名参数。人名一般为字符串类型,如何将它转换成数字呢?第3行的ord正是将字符转换成ASCII码数字的函数。
  第4到第8行,就是今天我们要说的主角之一:if判断语句。平时我们说:如果(if)你不想获得好的考试成绩,你可以随便玩;否则(else)想要考试成绩好,平时就得多努力学习。在PHP程序中就是如下所示来表达多项选择的(见图2):
  


  (2)
  if(条件){
  如果条件成立,执行本花括号内的代码;
  }else{
  如果条件不成立,则执行本花括号代的代码;
  }
  注意,每个PHP语句代码,一般都要加一个分号(;)表示结束,而花括号(})同样有结束语句的意义,所以就不用再加分号了。
  
  ★上面实例中,为什么要将人名转换后的数字减去200或100呢?原来ord函数转换出的是ASCII码数字,最大为255,超出了我们计数的最大值100,所以减去200或100,就可以将最终数字控制在100之内了。
  从第10到第25行,同样还是用的if判断语句,稍有不同的是,这里连续用了多个“else if”。这就是if语句的所谓“嵌套”用法,通过这种一层套一层的方法,便可以实现多种不同的答案选择了。从本例代码可以很明显地看出,这个游戏将100分成了0~20、21~40等5个等级,每一等级都给出了不同的评价。
  
  ★无限嵌套的if语句是不是看着挺麻烦的?其实PHP程序中提供了另外一个语句可以用来替代嵌套if,这就是switch语句。它的语法形式为:
  switch(条件变量){
  case a:
  //如果条件变量等于a(只是假设,你也可以设置成其他的,如x、9等,下同)就执行这里的语句代码;
  break; //不再执行后面的代码,直接跳出switch结构,下同。
  case b:
  //如果条件变量等b,就执行此处的语句代码;
  break;
  case c:
  //语句代码;
  break;
  ......
  default:
  //如果上面条件都不符合,就默认执行此处代码。可以省略
  }
  
  三种控制全掌握,
  走遍天下也不怕
  
  一般来说,程序执行时都是按编程时所确定的次序一条一条地由前往后顺序进行的,这就是所谓的“顺序结构”(sequential execution),也是所有程序的常态;但当一件事有N多选择的时候,顺序执行显然行不通,这时就要在顺序结构的大前提下引入选择结构(selection),也就是上面我们所介绍的if和switch结构;如果某件事需要重复进行,比如月亮里的吴刚要砍倒桂花树,他的这个动作就需要循环往复地进行,虽然可以通过if语句来实现,但是太繁烦,所以程序中又引入循环结构(repetition structure),PHP中用来完成循环操作的是while和for语句。
  程序的流程,基本上逃不出上面所说的三种流程,而且在C、C++、Java、JavaScript等等其他程序语言中,这三种流程的语法形式几乎一模一样,所以你学会了PHP中的控制语句的使用,假如以后要用到C++、JavaScript等,不用重新学习就可以上手操作了。
其他文献
<正> 党的三中全会以来,我国贯彻了“调整、改革、整顿、提高”的八字方针,实行了对外开放、对内搞活经济的政策,国民经济开始走上稳定、健康发展的道路。同时,由于党和政府采取了一系列重大措施改善人民生活,城乡人民货币收入和实际生活水平显著提高,消费和购买力也有了很大提高。据统计,我国城镇职工年平均工资由1978年的614元增加到1981年的772元,增长25.7%。农村社员人均纯收入由1978年的134元提高到1981年的223元,增长40%①。1981年,人民购买力比1978年增长65.8%,
<正> 分析第一次国内革命战争失败的原因,陈独秀在党内的家长式统治不能不是一个重要方面;然而这却是一个没有引起人们的足够重视的方面。在本世纪初的风云激荡的革命年代里,陈独秀作为中国先进人物的领袖,曾率领文化新军,高举新文化运动的大旗,对几千年的封建意识进行过中国有史以来的第一次的真正打击,培养了宣传科学与民主的一代新人。在汹涌澎湃的时代激流里,他急流勇进,确是一位开创中国共产主义运动的有力人物。不管怎么说,在这个时期,他的革命精神还是十分充沛的。尽管这样,当他在我们党内占居了领导地位以后,他
<正> 乳糜尿是丝虫病常见的并发症之一,属祖国医学“膏淋”、“血淋”的范畴。我们近几年来用苣荬菜为主治疗乳糜血尿72例,获得了满意效果。1 一般资料72例中,男12例,女60例;
<正> 肩关节周围炎(下简称肩周炎)是骨科常见病之一,国内报道治疗方法颇多。笔者在近年来采用吴薏盐散热烫熏洗治疗64例,取得一定疗效。一、临床资料64例中,男27例,女37例;年
<正> 从1982年9月至1991年1月,笔者以养阴润肺之中药为主,治疗燥咳78例,效果尚满意,介绍如下。1 一般资料78例中,男35例,女43例。年龄最大84岁,最小19岁,45~65岁居多。病程最
<正> 肩关节脱位是常见的关节脱位,尤以前脱位多见。前脱位一般分为喙突下、关节盂下、锁骨下脱位。传统的整复手法有牵引足蹬法,屈肘旋转法,拔伸托入法和扛抬法等。近年来,
<正> 姚雪垠在历史小说《李自成》的创作中,常常以悲剧的形式给作品的情节和人物染上一层悲壮的色彩。在已经出版的三卷中,作者浓墨重彩地描写了许多悲剧情节和人物。可以推想,在以后的几卷中,随着革命斗争过程中农民义军战略性、政策性失误的
<正> 我们自1984年1月至1987年6月,以手法治疗骶髂关节错位坐骨神经型398例,取得了较为满意的效果。1 临床资料398例中,男220例,占55%,女178例,占45%。右骶髂关节前错位者192
<正> 许多历史书都说“发明家马钧创造一种新式灌溉工具——翻车”,依据就是傅玄《马先生传》所载“先生乃作翻车”。其实这里的“作”是“制作”之义,下文有“其
近期国际油价持续大幅下挫,布伦特原油价格一度跌破每桶46美元,创出近六年新低。按照正常理解,油价下跌,航运企业燃油成本降低,有利于提高整体盈利水平。但国际干散货运输市