案例1 HTML中嵌入PHP一、案例描述1、 考核知識點 PHP注釋 2、 練習目標 ? 熟悉PHP嵌入到HTML中的語法風格 ? 了解HTML注釋與PHP注釋的區(qū)別 3、 需求分析 PHP是嵌入到HTML中的腳本語言,PHP核心程序通過PHP的標記找到需要解析的代碼。 我們嘗試將PHP的代碼放在HTML中的任意位置,看它會不會起作用,再試試HTML的注釋能不能注釋PHP的標記與代碼,PHP的注釋能不能注釋HTML的代碼。 4、 設計思路(實現(xiàn)原理) 1) 創(chuàng)建文件test.php,在里面寫一段HTML代碼。 2) 在HTML代碼中用PHP輸出HTML的標簽和屬性。 3) 用HTML的<!-- -->注釋PHP的標記與代碼。 4) 試試能不能用PHP注釋HTML的代碼。 二、案例實現(xiàn)1、創(chuàng)建文件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代碼仍然會執(zhí)行。 3、PHP可以分成兩段標記來注釋HTML的代碼。 案例2 交換兩個變量的值一、案例描述1、 考核知識點 變量的定義 2、 練習目標 ? 掌握變量的定義與使用 ? 熟悉變量的運用 3、 需求分析 變量是指在程序執(zhí)行的過程中其值是可以變化的,通過本案例可以充分感受到變量在程序中的所用。 假設有變量$a和變量$b,如何將兩個變量的值交換?假設變量$a的值為10,變量$b的值為20,則交換后,變量$a的值為20,變量$b的值為10。 4、 設計思路(實現(xiàn)原理) 1)定義一個變量$a,值為10,定義一個變量$b,值為20。 2)定義第三個變量$temp,并把$a的值賦給它。 3)將變量$b的值賦給$a,再把變量$temp的值賦給$b。 二、案例實現(xiàn)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的數(shù)據(jù)類型 2、 練習目標 ? 掌握單引號與雙引號字符串 ? 掌握字符串中的轉義字符 3、 需求分析 分別利用單引號和雙引號字符串,結合常用轉義字符,將下列文字輸出在網(wǎng)頁上: 1、"Why doesn't "this" work?" 2、c:
etwork ables 3、變量{$a}的值為”abc” 4、101BCD 4、 設計思路(實現(xiàn)原理) 1)用單引號字符串輸出時,將字符串中的單引號轉義。 2)用雙引號字符串輸出時,需要避免某些字符被自動轉義。 3)當字符串最后一個字符是“”時,為了防止結束引號被轉義,應先將“”轉義。 4)當雙引號字符串中有“$”時,為了防止轉義成變量,應先將“$”轉義。 二、案例實現(xiàn)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、 練習目標 ? 掌握可變變量的用法 ? 掌握可變變量的使用細節(jié) 3、 需求分析 可變變量是一種特殊的變量,它的名稱不是事先定義好的,而是可以動態(tài)地設置與使用。 通過本案例可以使我們了解可變變量的延伸用法,即多重$符號、大括號{}的使用。 4、 設計思路(實現(xiàn)原理) 1)定義兩個變量,一個變量的值是另一個變量的變量名。 2)定義兩個變量,其中一個變量的值是另一個變量的變量名的一部分。 二、案例實現(xiàn)1、編寫程序實現(xiàn)多重$符號的可變變量,代碼如下: <?php $hello = 'world'; $world = 'hello'; echo $world; echo $$world; echo $$$world; echo $$$$world; echo $$$$$world; echo $$$$$$world; echo $$$$$$$world; echo $$$$$$$$world; 2、編程實現(xiàn)在可變變量中使用{}大括號,代碼如下: <?php $helloworld = 'ok'; $php = 'world'; echo ${"hello$php"}; 運行程序,結果如下圖所示: 
三、案例總結1、普通變量可以作為一個可變變量的變量名。 2、可變變量可以加大括號“{}”,在大括號中可以寫雙引號字符串。 案例5 自動類型轉換細節(jié)一、案例描述1、 考核知識點 自動類型轉換 2、 練習目標 ? 了解自動類型轉換的細節(jié) 3、 需求分析 PHP是一種弱類型語言,在不同類型的數(shù)據(jù)進行混合運算時,會自動進行類型轉換。 通過本案例可以了解自動類型轉換帶來的一些細節(jié)上的問題,在編寫程序時應該注意的地方。 4、 設計思路(實現(xiàn)原理) 1)驗證當字符串類型和數(shù)值類型比較時,結果如何。 2)驗證當邏輯性與數(shù)值型比較時,結果如何。 3)驗證當數(shù)值型與字符串型運算時,結果如何。 二、案例實現(xiàn)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是整數(shù)型,值為,值為:'.$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、自動類型轉換雖然給編寫程序帶來了方便,但是其中的細節(jié)一定需要注意。 2、如果需要忽略自動類型轉換比較時,可以使用“===”和“!==”,將值與類型同時進行比較。 案例6 計算圓的周長和面積一、案例描述1、 考核知識點 算術運算符 2、 練習目標 ? 掌握算術運算符的使用方法 ? 熟悉常量的使用場合 3、 需求分析 算術運算符是處理四則運算的符號,通過本案例學會如何用計算機編程的思路解決數(shù)學問題。 編寫程序:已知圓的半徑,求圓的周長和面積(圓周率約等于3.14,假設圓的半徑為15)。 4、 設計思路(實現(xiàn)原理) 1)圓的周長計算公式:2乘以半徑乘以圓周率。 2)圓的面積計算公式:圓周率乘以半徑的平方。 3)定義常量PI,值為3.14。 4)定義半徑為變量,值為15。 5)根據(jù)公式計算出結果。 二、案例實現(xiàn)1、編寫程序,代碼如下 <?php define('PI',3.14); //圓周率定義為常量 $radius = 15; //圓半徑 $area = PI * $radius * $radius; //計算面積 $length = 2 * PI * $radius; //計算周長 echo '圓的周長為:'.$length; echo '<br>圓的面積為:'.$area; 運行程序,結果如下圖所示: 三、案例總結1、運用算術運算符可以幫助我們解決現(xiàn)實中的數(shù)學問題。 2、出于良好的編程習慣,我們將程序中一些不會發(fā)生改變的值定義為常量。 案例7 邏輯運算符短路問題一、案例描述1、 考核知識點 邏輯運算符 2、 練習目標 ? 了解邏輯運算符 && 與 || 中的短路問題 ? 了解邏輯運算符 or 的使用場合 3、 需求分析 通過本案例了解邏輯運算符的使用細節(jié)。 使用&&,如果左邊的判斷結果為false,右邊的操作將不會被執(zhí)行。當使用||時,如果左邊的判斷結果為true,右邊的操作將不會被執(zhí)行。 4、 設計思路(實現(xiàn)原理) 1)定義$a=3,執(zhí)行“(1==2) && $a=6;”這行代碼后,$a的值是多少? 2)定義$a=3,執(zhí)行“(1==2) || $a=6;”這行代碼后,$a的值是多少? 二、案例實現(xiàn)1、編寫程序,代碼如下: <?php $a=3; (1==2) && $a=6; //左邊結果為false,則右邊$a=6不會執(zhí)行。 echo $a; echo '<hr>'; $a=3; (1==2) || $a=6; //左邊結果為false,則執(zhí)行右邊的操作。 echo $a; 運行程序,結果如下圖所示: 三、案例總結邏輯運算符具有“先判斷左邊的結果為真,才執(zhí)行右邊的操作”,或者“如果左邊的結果為假,則執(zhí)行右邊的操作”的技巧性用法。 案例8 輸出循環(huán)案例一、案例描述1、 考核知識點 循環(huán)結構語句 2、 練習目標 ? 掌握循環(huán)語句的使用 ? 熟悉多重循環(huán)語句的應用 3、 需求分析 利用循環(huán)語句,實現(xiàn)在網(wǎng)頁中打印用星號“*”組成的實心菱形: * *** ***** *** * 4、 設計思路(實現(xiàn)原理) 1) 定義一個變量,控制循環(huán)的行數(shù)。 2) 循環(huán)菱形的上半部分中的空格 3) 循環(huán)菱形的上半部分中的星號 4) 循環(huán)菱形下半部分中的空格 5) 循環(huán)菱形下半部分中的星號 二、案例實現(xiàn)1、構建for循環(huán),循環(huán)菱形上半部分,代碼如下: $a=5;//控制循環(huán)的行數(shù) //循環(huán)菱形的上半部分 for($i=1;$i<=$a;++$i){ //$b代表空格數(shù)目 for($b=1;$b<=$a-$i;++$b){ //控制輸出的空格數(shù) echo " "; } //$c 代表星號數(shù)目 for($c=1;$c<=($i-1)*2+1;++$c){ //控制輸出的*數(shù)目 echo "*"; } echo "<br/>"; } 2、構建for循環(huán),循環(huán)菱形下半部分,代碼如下: //循環(huán)菱形的下半部分 for($i=$a-1;$i>=1;--$i){ //$b代表空格數(shù)目 for($b=1;$b<=$a-$i;++$b){ //控制輸出的空格數(shù) echo " "; } //$c 代表星號數(shù)目 for($c=1;$c<=($i-1)*2+1;++$c){ echo "*"; } echo "<br/>"; } 運行程序,結果如下圖所示: 三、案例總結1、運用for循環(huán)語句,可以輸出各種有規(guī)律的字符圖形。 2、對于雙重for循環(huán),外層循環(huán)控制行,內層循環(huán)控制單行中的每一個字符。 案例9 編程求水仙花數(shù)一、案例描述1、 考核知識點 循環(huán)結構語句 2、 練習目標 ? 掌握循環(huán)結構語句的應用 ? 熟悉循環(huán)語句與選擇語句的使用結合 3、 需求分析 循環(huán)結構可以用來描述重復執(zhí)行某段算法的問題,這是程序設計中最能發(fā)揮計算機特長的程序結構。 編程求100~999之間所有的水仙花數(shù)。水仙花數(shù)是指一個 n 位數(shù) ( n≥3 ),它的每個位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153) 提示:使用floor()函數(shù)可以舍去一個數(shù)值的小數(shù)位。如:floor(1.9)的值為1,floor(2.1)的值為2。 4、 設計思路(實現(xiàn)原理) 1)編寫一個for循環(huán),$i從100開始,$i小于1000。 2)在循環(huán)體中,先提取每個$i的個位、十位、百位上的數(shù)字,放到單獨的變量中保存。 3)使用if判斷,當個位數(shù)字、十位數(shù)字、百位數(shù)字的三次方加在一起等于$i時,將$i輸出。 二、案例實現(xiàn)1、構建for循環(huán),提取三位數(shù)中的每個位上的數(shù)字,代碼如下: <?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循環(huán)語句是最常用的循環(huán)語句,一般用在循環(huán)次數(shù)已知的情況下。for循環(huán)語句的語法格式如下: for(初始化表達式; 循環(huán)條件; 操作表達式){ 執(zhí)行語句 ……… } 2、循環(huán)語句結合選擇語句,可以從一個大范圍內中找出我們需要的結果。 例10 計算紅白黑球個數(shù)一、案例描述1、 考核知識點 循環(huán)結構語句 2、 練習目標 ? 掌握循環(huán)語句的使用 ? 熟悉程序中的邏輯與算法思想 3、 需求分析 利用循環(huán)結構,編程計算:有紅、白、黑三種球若干個,其中紅、白球共25個,白、黑球共31個,紅、黑球共28個,求這三種球各多少個?(嘗試使用兩種方法來實現(xiàn)) 4、 設計思路(實現(xiàn)原理) 1) 使用窮舉法,思路:紅+白=25,白+黑=31,紅+黑=28 2) 分析數(shù)據(jù)間的關系,思路:25-紅=白,28-紅=黑,白+黑=31 二、案例實現(xiàn)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循環(huán),能夠在海量的可能性中找出我們需要的答案。 2、在編寫程序時,注意編程技巧,讓程序執(zhí)行的更加高效。 案例11 解決百錢百雞問題一、案例描述1、 考核知識點 循環(huán)結構語句 2、 練習目標 ? 掌握循環(huán)結構語句的應用 3、 需求分析 編程解決以下問題,并嘗試進行算法上的優(yōu)化: 公雞5文錢1只,母雞3文錢1只,小雞1文錢買3只,現(xiàn)在用100文錢共買了100只雞,問:在這100只雞中,公雞、母雞和小雞各是多少只?(設每種至少一只) 4、 設計思路(實現(xiàn)原理) 1)窮舉法:假設每種雞的最大個數(shù)為100,則使用三層的循環(huán),來進行運算。 2)改進算法:公雞5文錢買一只,所以最多能買20只,同理母雞最多能買33只。 二、案例實現(xiàn)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循環(huán),能夠在海量的可能性中找出我們需要的答案。 2、在編寫程序時,注意編程技巧,讓程序執(zhí)行的更加高效。 案例12 輸出隔行換色的表格一、案例描述1、 考核知識點 循環(huán)結構語句 2、 練習目標 ? 掌握循環(huán)結構語句的應用 ? 熟練將PHP與HTML的代碼結合使用。 3、 需求分析 PHP可以嵌入到HTML結構中使用,通過本案例練習如何運用PHP程序處理HTML代碼。 使用PHP輸出一個10行兩列的HTML表格,同時將奇數(shù)行的背景色設置為綠色。 4、 設計思路(實現(xiàn)原理) 1)編寫HTML代碼,寫出一個簡單的表格。 2)在table標簽內部編寫for循環(huán),$i初始值為1,$i小于等于10。 3)在循環(huán)體中輸出行<tr></tr>,同時判斷$i為奇數(shù)時輸出<tr bgcolor=”green” > 二、案例實現(xiàn)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>偶數(shù)行</td>'; }else{ echo '<tr bgcolor="green" ><td>奇數(shù)行</td>'; } echo '<td>'.$i.'</td></tr>'; } ?> </table> 三、案例總結1、可以運用PHP幫助我們生成重復性的HTML代碼。 2、通過if條件判斷,可以將程序分情況來執(zhí)行。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
|