案例1 HTML中嵌入PHP一、案例描述1、 考核知识点 PHP注释 2、 练习目标 ? 熟悉PHP嵌入到HTML中的语法风格 ? 了解HTML注释与PHP注释的区别 3、 需求分析 PHP是嵌入到HTML中的脚本语言,PHP核心程序通过PHP的标记找到需要解析的代码。 我们尝试将PHP的代码放在HTML中的任意位置,看它会不会起作用,再试试HTML的注释能不能注释PHP的标记与代码,PHP的注释能不能注释HTML的代码。 4、 设计思路(实现原理) 1) 创建文件test.php,在里面写一段HTML代码。 2) 在HTML代码中用PHP输出HTML的标签和属性。 3) 用HTML的<!-- -->注释PHP的标记与代码。 4) 试试能不能用PHP注释HTML的代码。 二、案例实现1、创建文件test.php,在里面写一段HTML代码,代码如下: <html> <body> <h1>这是一个案例</h1> </body> </html> 2、在HTML代码中用PHP输出HTML的标签和属性,代码如下: <html> <body> <h1>这是一个案例</h1> <font color="<?php echo 'red';?>">这是一段文字<?php echo '</font>';?><br> </body> </html> 3、将PHP的代码放到HTML的注释中,代码如下: <html> <body> <h1>这是一个案例</h1> <font color="<?php echo 'red';?>">这是一段文字<?php echo '</font>';?><br> <!-- <?php echo '此句话使用PHP输出'; ?> --> </body> </html> 4、用PHP注释HTML的代码,代码如下: <html> <body> <h1>这是一个案例</h1> <font color="<?php echo 'red';?>">这是一段文字<?php echo '</font>';?><br> <!-- <?php echo '此句话使用PHP输出'; ?> --> <?php /* ?><b>此句话被注释。</b><?php */ ?> </body> </html> 三、案例总结1、PHP代码可以嵌入到HTML代码中的任何位置,包括注释里。 2、被HTML注释起来的PHP代码仍然会执行。 3、PHP可以分成两段标记来注释HTML的代码。 案例2 交换两个变量的值一、案例描述1、 考核知识点 变量的定义 2、 练习目标 ? 掌握变量的定义与使用 ? 熟悉变量的运用 3、 需求分析 变量是指在程序执行的过程中其值是可以变化的,通过本案例可以充分感受到变量在程序中的所用。 假设有变量$a和变量$b,如何将两个变量的值交换?假设变量$a的值为10,变量$b的值为20,则交换后,变量$a的值为20,变量$b的值为10。 4、 设计思路(实现原理) 1)定义一个变量$a,值为10,定义一个变量$b,值为20。 2)定义第三个变量$temp,并把$a的值赋给它。 3)将变量$b的值赋给$a,再把变量$temp的值赋给$b。 二、案例实现1、编写程序,代码如下: <?php $a = 10; $b = 20; echo '变量a='.$a; echo '<br>变量b='.$b; echo '<br>--交换--<br>'; $temp = $a; $a = $b; $b = $temp; echo '变量a='.$a; echo '<br>变量b='.$b; 三、案例总结当两个变量之间需要交换值的时候,可以利用第三个变量来临时存储其中一个的值。 案例3 单引号与双引号一、案例描述1、 考核知识点 PHP的数据类型 2、 练习目标 ? 掌握单引号与双引号字符串 ? 掌握字符串中的转义字符 3、 需求分析 分别利用单引号和双引号字符串,结合常用转义字符,将下列文字输出在网页上: 1、"Why doesn't "this" work?" 2、c:
etwork ables 3、变量{$a}的值为”abc” 4、101BCD 4、 设计思路(实现原理) 1)用单引号字符串输出时,将字符串中的单引号转义。 2)用双引号字符串输出时,需要避免某些字符被自动转义。 3)当字符串最后一个字符是“”时,为了防止结束引号被转义,应先将“”转义。 4)当双引号字符串中有“$”时,为了防止转义成变量,应先将“$”转义。 二、案例实现1、用单引号输出,代码如下: <?php echo '"Why doesn't "this" work?"'; echo '<br>'; echo 'c:
etwork ables'; echo '<br>'; echo '变量{$a}的值为"abc"'; echo '<br>'; echo '101BCD'; echo '<br>'; 2、用双引号输出,代码如下: <?php echo ""Why doesn't "this" work?""; echo '<br>'; echo "c:
etwork ables"; echo '<br>'; echo "变量{$a}的值为"abc""; echo '<br>'; echo "101BCD"; 三、案例总结1、单引号字符串处理速度快,只解析转义单引号自身的转义字符。 2、双引号字符串功能强大,可以同时解析转义字符、变量和ASCII码。 案例4 可变变量延伸一、案例描述1、 考核知识点 可变变量 2、 练习目标 ? 掌握可变变量的用法 ? 掌握可变变量的使用细节 3、 需求分析 可变变量是一种特殊的变量,它的名称不是事先定义好的,而是可以动态地设置与使用。 通过本案例可以使我们了解可变变量的延伸用法,即多重$符号、大括号{}的使用。 4、 设计思路(实现原理) 1)定义两个变量,一个变量的值是另一个变量的变量名。 2)定义两个变量,其中一个变量的值是另一个变量的变量名的一部分。 二、案例实现1、编写程序实现多重$符号的可变变量,代码如下: <?php $hello = 'world'; $world = 'hello'; echo $world; echo $$world; echo $$$world; echo $$$$world; echo $$$$$world; echo $$$$$$world; echo $$$$$$$world; echo $$$$$$$$world; 2、编程实现在可变变量中使用{}大括号,代码如下: <?php $helloworld = 'ok'; $php = 'world'; echo ${"hello$php"}; 运行程序,结果如下图所示: 三、案例总结1、普通变量可以作为一个可变变量的变量名。 2、可变变量可以加大括号“{}”,在大括号中可以写双引号字符串。 案例5 自动类型转换细节一、案例描述1、 考核知识点 自动类型转换 2、 练习目标 ? 了解自动类型转换的细节 3、 需求分析 PHP是一种弱类型语言,在不同类型的数据进行混合运算时,会自动进行类型转换。 通过本案例可以了解自动类型转换带来的一些细节上的问题,在编写程序时应该注意的地方。 4、 设计思路(实现原理) 1)验证当字符串类型和数值类型比较时,结果如何。 2)验证当逻辑性与数值型比较时,结果如何。 3)验证当数值型与字符串型运算时,结果如何。 二、案例实现1、编写程序,代码如下: $foo = "0"; if(is_string($foo)){ echo '$foo是字符串型,值为:'.$foo.'<hr>'; } $foo += 2; if(is_int($foo)){ echo '$foo是整型,值为:'.$foo.'<hr>'; } $foo = $foo + 1.3; if(is_float($foo)){ echo '$foo是浮点型,值为:'.$foo.'<hr>'; } $foo = 5 + "10Number"; if(is_int($foo)){ echo '$foo是整数型,值为,值为:'.$foo.'<hr>'; } $a = 10; $str = "$a"; if(is_string($str)){ echo '$str是字符串型,值为:'.$str.'<hr>'; } if('ABC'==0){ echo '转换结果为true<hr>'; } if('ABC'==true){ echo '转换结果为true<hr>'; } if(false==0){ echo '转换结果为true<hr>'; } if(0){ echo '转换结果为true<hr>'; }else{ echo '转换结果为false<hr>'; } 三、案例总结1、自动类型转换虽然给编写程序带来了方便,但是其中的细节一定需要注意。 2、如果需要忽略自动类型转换比较时,可以使用“===”和“!==”,将值与类型同时进行比较。 案例6 计算圆的周长和面积一、案例描述1、 考核知识点 算术运算符 2、 练习目标 ? 掌握算术运算符的使用方法 ? 熟悉常量的使用场合 3、 需求分析 算术运算符是处理四则运算的符号,通过本案例学会如何用计算机编程的思路解决数学问题。 编写程序:已知圆的半径,求圆的周长和面积(圆周率约等于3.14,假设圆的半径为15)。 4、 设计思路(实现原理) 1)圆的周长计算公式:2乘以半径乘以圆周率。 2)圆的面积计算公式:圆周率乘以半径的平方。 3)定义常量PI,值为3.14。 4)定义半径为变量,值为15。 5)根据公式计算出结果。 二、案例实现1、编写程序,代码如下 <?php define('PI',3.14); //圆周率定义为常量 $radius = 15; //圆半径 $area = PI * $radius * $radius; //计算面积 $length = 2 * PI * $radius; //计算周长 echo '圆的周长为:'.$length; echo '<br>圆的面积为:'.$area; 运行程序,结果如下图所示: 三、案例总结1、运用算术运算符可以帮助我们解决现实中的数学问题。 2、出于良好的编程习惯,我们将程序中一些不会发生改变的值定义为常量。 案例7 逻辑运算符短路问题一、案例描述1、 考核知识点 逻辑运算符 2、 练习目标 ? 了解逻辑运算符 && 与 || 中的短路问题 ? 了解逻辑运算符 or 的使用场合 3、 需求分析 通过本案例了解逻辑运算符的使用细节。 使用&&,如果左边的判断结果为false,右边的操作将不会被执行。当使用||时,如果左边的判断结果为true,右边的操作将不会被执行。 4、 设计思路(实现原理) 1)定义$a=3,执行“(1==2) && $a=6;”这行代码后,$a的值是多少? 2)定义$a=3,执行“(1==2) || $a=6;”这行代码后,$a的值是多少? 二、案例实现1、编写程序,代码如下: <?php $a=3; (1==2) && $a=6; //左边结果为false,则右边$a=6不会执行。 echo $a; echo '<hr>'; $a=3; (1==2) || $a=6; //左边结果为false,则执行右边的操作。 echo $a; 运行程序,结果如下图所示: 三、案例总结逻辑运算符具有“先判断左边的结果为真,才执行右边的操作”,或者“如果左边的结果为假,则执行右边的操作”的技巧性用法。 案例8 输出循环案例一、案例描述1、 考核知识点 循环结构语句 2、 练习目标 ? 掌握循环语句的使用 ? 熟悉多重循环语句的应用 3、 需求分析 利用循环语句,实现在网页中打印用星号“*”组成的实心菱形: * *** ***** *** * 4、 设计思路(实现原理) 1) 定义一个变量,控制循环的行数。 2) 循环菱形的上半部分中的空格 3) 循环菱形的上半部分中的星号 4) 循环菱形下半部分中的空格 5) 循环菱形下半部分中的星号 二、案例实现1、构建for循环,循环菱形上半部分,代码如下: $a=5;//控制循环的行数 //循环菱形的上半部分 for($i=1;$i<=$a;++$i){ //$b代表空格数目 for($b=1;$b<=$a-$i;++$b){ //控制输出的空格数 echo " "; } //$c 代表星号数目 for($c=1;$c<=($i-1)*2+1;++$c){ //控制输出的*数目 echo "*"; } echo "<br/>"; } 2、构建for循环,循环菱形下半部分,代码如下: //循环菱形的下半部分 for($i=$a-1;$i>=1;--$i){ //$b代表空格数目 for($b=1;$b<=$a-$i;++$b){ //控制输出的空格数 echo " "; } //$c 代表星号数目 for($c=1;$c<=($i-1)*2+1;++$c){ echo "*"; } echo "<br/>"; } 运行程序,结果如下图所示: 三、案例总结1、运用for循环语句,可以输出各种有规律的字符图形。 2、对于双重for循环,外层循环控制行,内层循环控制单行中的每一个字符。 案例9 编程求水仙花数一、案例描述1、 考核知识点 循环结构语句 2、 练习目标 ? 掌握循环结构语句的应用 ? 熟悉循环语句与选择语句的使用结合 3、 需求分析 循环结构可以用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。 编程求100~999之间所有的水仙花数。水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153) 提示:使用floor()函数可以舍去一个数值的小数位。如:floor(1.9)的值为1,floor(2.1)的值为2。 4、 设计思路(实现原理) 1)编写一个for循环,$i从100开始,$i小于1000。 2)在循环体中,先提取每个$i的个位、十位、百位上的数字,放到单独的变量中保存。 3)使用if判断,当个位数字、十位数字、百位数字的三次方加在一起等于$i时,将$i输出。 二、案例实现1、构建for循环,提取三位数中的每个位上的数字,代码如下: <?php for($i=100;$i<1000;++$i){ $hundreds=floor($i/100);//分解出百位 $tens=floor($i/10)%10;//分解出十位 $ones=floor($i%10);//分解出个位 } 2、通过if判断,将符合条件的结果输出,代码如下: <?php for($i=100;$i<1000;++$i){ $hundreds=floor($i/100);//分解出百位 $tens=floor($i/10)%10;//分解出十位 $ones=floor($i%10);//分解出个位 if($hundreds*$hundreds*$hundreds+$tens*$tens*$tens+$ones*$ones*$ones==$i){ echo $i." "; } } 三、案例总结1、for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下: for(初始化表达式; 循环条件; 操作表达式){ 执行语句 ……… } 2、循环语句结合选择语句,可以从一个大范围内中找出我们需要的结果。 例10 计算红白黑球个数一、案例描述1、 考核知识点 循环结构语句 2、 练习目标 ? 掌握循环语句的使用 ? 熟悉程序中的逻辑与算法思想 3、 需求分析 利用循环结构,编程计算:有红、白、黑三种球若干个,其中红、白球共25个,白、黑球共31个,红、黑球共28个,求这三种球各多少个?(尝试使用两种方法来实现) 4、 设计思路(实现原理) 1) 使用穷举法,思路:红+白=25,白+黑=31,红+黑=28 2) 分析数据间的关系,思路:25-红=白,28-红=黑,白+黑=31 二、案例实现1、穷举法,代码如下: <?php for($r=1;$r<=25;++$r){ for($b=1;$b<28;++$b){ for($w=1;$w<25;++$w){ if($r+$w==25 && $w+$b==31 && $r+$b==28){ echo "白球:$w 黑球:$b 红球:$r"; } } } } 2、将程序改进后,代码如下: //红、白球共25个,白球最少有1个,那么红球最多有24个。 for($r=1;$r<=24;++$r){ $w=25-$r; $b=28-$r; if($w+$b==31){ echo "白球:$w 黑球:$b 红球:$r"; } } 三、案例总结1、运用for循环,能够在海量的可能性中找出我们需要的答案。 2、在编写程序时,注意编程技巧,让程序执行的更加高效。 案例11 解决百钱百鸡问题一、案例描述1、 考核知识点 循环结构语句 2、 练习目标 ? 掌握循环结构语句的应用 3、 需求分析 编程解决以下问题,并尝试进行算法上的优化: 公鸡5文钱1只,母鸡3文钱1只,小鸡1文钱买3只,现在用100文钱共买了100只鸡,问:在这100只鸡中,公鸡、母鸡和小鸡各是多少只?(设每种至少一只) 4、 设计思路(实现原理) 1)穷举法:假设每种鸡的最大个数为100,则使用三层的循环,来进行运算。 2)改进算法:公鸡5文钱买一只,所以最多能买20只,同理母鸡最多能买33只。 二、案例实现1、穷举法,代码如下: <?php for($mj=1;$mj<100;++$mj){ for($gj=1;$gj<100;++$gj){ for($xj=1;$xj<100;++$xj){ if(($gj+$mj+$xj == 100) && ($gj*5+$mj*3+$xj/3==100)){ echo "公鸡:$gj 母鸡:$mj 小鸡:$xj<br>"; } } } } 2、将程序改进后,代码如下: <?php for($mj=1;$mj<33;++$mj){ for($gj=1;$gj<20;++$gj){ $xj=100-$mj-$gj; if($gj*5+$mj*3+$xj/3==100){ echo "公鸡:$gj 母鸡:$mj 小鸡:$xj<br>"; } } } 三、案例总结1、运用for循环,能够在海量的可能性中找出我们需要的答案。 2、在编写程序时,注意编程技巧,让程序执行的更加高效。 案例12 输出隔行换色的表格一、案例描述1、 考核知识点 循环结构语句 2、 练习目标 ? 掌握循环结构语句的应用 ? 熟练将PHP与HTML的代码结合使用。 3、 需求分析 PHP可以嵌入到HTML结构中使用,通过本案例练习如何运用PHP程序处理HTML代码。 使用PHP输出一个10行两列的HTML表格,同时将奇数行的背景色设置为绿色。 4、 设计思路(实现原理) 1)编写HTML代码,写出一个简单的表格。 2)在table标签内部编写for循环,$i初始值为1,$i小于等于10。 3)在循环体中输出行<tr></tr>,同时判断$i为奇数时输出<tr bgcolor=”green” > 二、案例实现1、编写一个HTML的表格,代码如下: <table border=”1”> <tr> <td></td> <td></td> </tr> </table> 2、在表格中加入PHP代码,代码如下: <table border="1"> <?php for($i=1; $i<=10; ++$i){ if($i%2==0){ echo '<tr><td>偶数行</td>'; }else{ echo '<tr bgcolor="green" ><td>奇数行</td>'; } echo '<td>'.$i.'</td></tr>'; } ?> </table> 三、案例总结1、可以运用PHP帮助我们生成重复性的HTML代码。 2、通过if条件判断,可以将程序分情况来执行。
信息发布:广州名易软件有限公司 http://www.myidp.net
|