第一篇:傳智播客PHP教程.zend.framework視頻教程簡介
[視頻簡介:]
本教程貫穿了兩個軟件公司常用的兩個項目,數據采集系統和購物車,共分20講,全面細致的講解了如何正確的使用zend framework框架到網站開發中,zend framework 是官方推薦的PHP mvc框架,功能強大,后勁十足,也正是它太強大了,所以很多PHP程序員對它望而生畏,不敢去學習掌握它,真的有那么難嗎? 呵呵,看完本教程你就會發現,喔!不過如此。
韓老師這套zf視頻教程是目前市面上講解最全面的zend framework視頻教程,從本質上深入淺出的分析了zend framework運行原理。
韓順平老師從事多年的軟件開發和培訓教學,非常清楚那些容易使新手困惑的問題,在學習過程中會碰到的攔路虎,韓老師結合了多年實際開發與教學經驗,收集了眾多學員在學習中常提到的問題,對平時講課的內容進行了精心整理。讀者從本視頻中不僅可以學習到zend framework框架本身方面的知識,還能學到了許多編程思想和實際操作手法,仿佛韓老師在你面前進行現場演示一樣。本視頻不僅全面的介紹了zend framework本身,最重要還交會讀者去掌握編程思想,找到編程感覺,而不是死記硬背語言本身,視頻中涉及到的應用問題分析,遠遠超了一個PHP程序員在學習和應用zend framework過程中所有可能碰到的問題。
本視頻不僅講概念,講怎么做,還告訴讀者為什么;不僅講操作技能,還貫穿一些系統的理論,這樣讀者才不至于不明不白,或是似乎明白,但不知道具體該怎么干。本視頻一步步引導讀者深入,使讀者輕松愉快、興趣盎然、水到渠成、潛移默化地掌握PHP編程及許多其他的軟件開發思想。
[聲明:]
本課程是由傳智播客韓順平老師錄制,任何人不能用此教程牟利,違者必究。但是:在不收取其他人費用的前提下,您可以自由的分發此視頻教程。
[聯系我們:]
在學習過程中如果遇到問題可以通過以下聯系方式與我們取得聯系,另外還有更多傳智播客PHP內部視頻見:
網址:http://php.itcast.cn 或者 http://
電話:010-51552111E-mail:hsp@itcast.cn
第二篇:傳智播客 PHP程序員筆記第一天
做網站 Web程序。
需要制作一臺可以在網絡上被別人訪問到的機器。
安裝了瀏覽器的計算機:
browser端 能夠提供網絡資源的計算機:(網站在這臺計算機上),能夠提供某種服務。Server端。
B/S是什么意思? 瀏覽器/服務器的架構:
請求:瀏覽器端向服務器端發送數據。Request 響應:服務器向瀏覽器端發送數據。回應,Response
什么樣的計算機叫做服務器端? 安裝了服務器軟件的計算機。
Web服務器軟件:iis,nginx,apache。
其中apache還是目前與php配合使用最多的服務器軟件:
安裝apache這個軟件,使jsj成為一臺web服務器。
http:// Apache的默認的文檔目錄 apache的安裝目錄下/htdocs/
什么是靜態網站,動態網站?
靜態,網站上所有的內容,都是由靜態頁面提供的。
動態:網站的內容,是來源于某個數據源(數據庫,互聯網),而,在需要展示某些數據時,通過某種語言,將數據從數據源內提取,然后再展示到頁面上。
如果需要做動態網站,需要
1,數據源(數據庫)mysql數據庫
2,某種語言(用于提取和展示數據之用)PHP
Amp開發:
利用apache作為web服務器,使別人可以訪問到我們的網站 利用mysql作為數據源,可以保存動態網站所需要的數據 利用php來獲得某個操作所需要的數據。
小測試: 輸出1-100 編寫php文件:
訪問這個php文件:
發現,可以訪問到,但是不能解析。
Apache只有提供被訪問的功能,而不能提供解析php代碼的功能。
因此需要安裝php程序,提供解析php代碼的功能:
安裝PHP:
所有的請求都是web服務器來接收的(apache),但是其中某些資源需要php來處理。通常的處理方式,是將php作為apache內部的一個模塊來管理的。
將php安裝成apache模塊:
使用一個apache的指令,loadModule來完成:
解壓php的安裝包:
不需要安裝可以直接執行 將php軟件復制到相應的目錄: E:/amp/php
由于不需要安裝,目錄內的可執行文件直接可以使用:
在php目錄內,有個文件,就是php為apache提供的apache模塊:
需要使用apache的LoadModule載入這個模塊即可:
需要在apache的配置文件內,使用上面的LoadModule指令: apache的配置文件在 apache的安裝目錄/Conf/httpd.conf
增加如下指令即可:
修改配置文件后,需要重啟動apache服務才可以:
配置apache,告知apache,哪樣的前請求需要調用php來解析,而哪些不需要: 通過請求的資源的后綴名
使用apache的FilesMatch指令來完成: 當匹配到php后綴時,調用php來處理: Apache的配置文件內:
請求php文件時,php代碼可以執行:
大家可以使用phpinfo()函數來測試以下,當前的php運行的環境:
安裝php后,需要配置一些最基本的配置項: 修改php的配置文件: Php的安裝目錄/php.ini
根據需要,將相應的更改成php.ini即可:
由于php作為apache一個模塊,因此需要告知apache,在哪里才能找到php的配置文件。利用apache的指令PhpIniDir來完成:
修改配置文件,達到某些目的:
1,時區
2, php擴展文件的目錄。Php的很多功能,并不是內置到php的軟件內的。在需要使用某個功能時,再載入即可。這個擴展的功能文件是被保存到某個目錄內的,稱之為php的擴展目錄: Extension_dir:
修改完了php的配置,也需要重啟apache才能生效
如果我們的php需要操作數據的話,需要利用數據軟件了。安裝Mysql。
1,安裝 2,配置
配置mysql的安裝目錄,和mysql數據的保存目錄:
安裝完成時,勾選運行配置向導,完成配置的過程:
配置字符集:
簡單介紹Mysql: 數據庫服務器:
屬于server端。因此,需要等待某個程序請求他才可以運行。
能夠對mysql數據庫服務器發出請求的我們稱之為mysql客戶端。
C/S Client客戶端
Server服務器
在安裝完mysql后,其實安裝了2個軟件1,mysql的服務器端,2,mysql的客戶端。
我們需要使用php來操作mysql。
其實 在php操作mysql的過程中,php就變成了 mysql的客戶端。
Php能夠作為mysql的客戶端,使用php的php_mysql.dll這個擴展完成,而且,這個擴展不是默認開啟的。
開啟相應的mysql的操作擴展,利用php的指令extension來完成。Php.ini:
B/S C/S
1,服務器在監聽(運行),提供某個服務
2,瀏覽器或者客戶端,對服務器發出請求。在發送請求時,請求的數據一定要按照某種數據格式才可以。數據格式在網絡數據傳輸時稱之為網絡協議。3,服務器接收到請求后,會根據請求數據,進行相應的操作。4,將處理好的結果返回給瀏覽器(客戶端),回應。Response 5,瀏覽器端(客戶端)對回應的數據進行展示輸出,b/s 都是用瀏覽器發出請求的。
http https c/s架構,都是采用某個服務專用的客戶端發出的請求。
Bs架構通常,任何兩次請求回應周期是沒有任何聯系的。在發出請求時,都需要先建連接。
Cs通常,在連接一次之后,通常就會保持住這個連接,后續的操作,就不需要再次建立連接了。
PHP與apache聯系:
1,php作為apache的模塊而存在。loadModule 2,web服務器與php之間通過 CGI方式產生聯系。CGI(通用網關接口),IIS+PHP。現在CGI被fastCGI。Nginx+PHP
apache的虛擬主機:
通常一個web服務器,代理的是一個網站。
有時我們需要利用一個web服務器,管理多個站點。不同的站點擁有獨立的域名。
通過配置apache服務器,達到,訪問
Test.kang.com時,看到的是test目錄的內容。Shop.kang.com時,看到的是shop目錄的內容
Apache的基于域名的虛擬主機技術:
主機:一個網站,就是一些php文件的集合,一個保存php文件的目錄 域名:指向某個網站的名稱。
通過修改apache配置文件達到效果:
Apache/comf/httpd.conf 原則上在這個配置文件內寫虛擬主機的配置就可以了。但是通常我們都是將虛擬主機的配置寫到某個單獨的配置文件內,然后將這個虛擬主機配置文件再載入到apache的這個httpd.conf配置文件內。引入的操作:
虛擬主機的專門的配置文件:
編輯這個虛擬主機文件,增加虛擬主機:
在配置文件內,每一個
域名和目錄是一個虛擬虛擬主機最基本的必備元素。
完成以上的操作,apache配置已經完成,apache上已經存在兩個虛擬主機了:
在配置了虛擬主機之后,我們對web服務器的默認訪問(沒有使用配置的虛擬主機域名的訪問),都會訪問到默認的主機上。
默認的主機:
1,在配置了虛擬主機后:默認的主機就是 第一個配置的虛擬主機 2,在沒有配置虛擬主機時,是htdocs目錄。
那么怎么才能在使用虛擬主機的前提下,讓localhost訪問到原來的htdocs?
如何能夠通過在瀏覽器上輸入相應的虛擬主機域名訪問到我們的虛擬主機呢? 在瀏覽器端,需要通過相應的域名,解析成目標服務器的ip地址才可以。
可以通過過瀏覽器端操作系統上自帶的 域名解析文件完成。Hosts
配置虛擬主機時,常用的配置:
目錄的權限的配置
利用apache的directory指令段完成配置 看 httpd.conf的配置:
目錄級別的配置,對當前目錄,及其后代目錄有效果。
如果在apache的配置文件內,沒有對某個目錄進行配置,則采用默認的目錄配置
可以通過修改默認的配置達到目的,但是通常是針對目錄進行單獨配置: 增加一個 Directory指令段:
為了將目錄與虛擬主機聯系起來,通常在VirtualHost內,使用Directory指令 Conf/extra/httpd-vhosts.conf
直接訪問目錄的配置:
在訪問目錄時,先檢測當前目錄是否配置了目錄索引頁,如果配置了索引頁,則展示索引頁的內容。目錄的索引頁使用apache的指令 directoryIndex完成配置。這個指令是可以寫到directory段內。
如果沒有配置目錄索引頁:則需要將目錄的的內容以列表的形式顯示出來,但是是通過配置apache的指令options加以配置,是否可以顯示目錄的索引列表。
可以在配置 options時 增加上允許符號連接的配置:
Apache的配置文件系統:
Apache程序,只會在apache服務器啟動時,讀取apache配置文件的內容,稱之為apache主配置文件。
一旦配置文件的語法出錯,就會導致apache服務器啟動失敗,提示:
Apache提供一個apache的配置文件檢查的功能:
也可以通過 cmd,命令行運行:
Apache還有一個配置文件,稱之為apache的分布式配置文件,apache允許在某個目錄內部,使用獨立的配置文件,來配置當前目錄及其后代目錄的中的一些設置。但是此時配置文件名稱,就不是httpd.conf了 而是.htaccess
在這個.htaccess配置文件中配置的內容,只能是目錄級別的配置。
但是默認情況下,分布式配置文件是不可以使用的。可以通過在主配置文件中使用apache的 Allowoverride指令加以配置。由于分布式配置文件是配置目錄的,因此 allowoverride也是需要寫到Directory段。
分布式與主配置文件的區別:
1,主配置文件需要保存到Conf目錄中,而分布式需要保存到所有需要配置的目錄中
2,主配置文件只要在apache啟動時,才讀取,而分布式配置文件,在apache訪問到某個目錄時都會讀取一次。
作業
1,每個人配置一個虛擬主機: 域名是 test.ip.com Test.100.com
2,在test.ip.com上增加一個表單頁面 Welcome.html頁面
最好在表單提交時,驗證姓名不能為空,為空給出提示,不能提交。
分析上面的例子:
發生了幾次請求和回應的過程。
第三篇:傳智播客PHP教學之PHP基本語法
PHP基本語法
36講 PHP基本語法介紹 PHP數據類型介紹.............................................................................2 37講 整型細節說明........................................................................................................................3 38講 布爾細節 浮點數細節 字符串細節 算術運算符①..........................................................4 39講 算術運算符② 比較運算符 邏輯運算符............................................................................5 40講 三元運算符 類型運算符 運算符優先級............................................................................9 41講 順序控制 分支控制(if ifelse switch)程序流程圖............................................................10 42講 循環控制①(for)..................................................................................................................15 43講 循環控制②(while dowhile)打印金字塔案例..................................................................16 45講 break語句 continue語句 常量.........................................................................................19 46講 函數基本概念 函數快速入門............................................................................................22 47講 函數使用 函數調用初步理解............................................................................................25 48講 函數調用深入理解 函數使用注意事項①........................................................................26 49講 函數使用注意事項② 函數作業布置................................................................................29 50講 函數再回顧 自定義函數....................................................................................................30 51講 位運算①.............................................................................................................................31 52講 位運算②.............................................................................................................................32 53講 數組介紹 數組的創建 數組的遍歷..................................................................................34 54講 數組的引用 數組使用細節①............................................................................................36 55講 數組使用細節② 數組運算符 數組作業評講① 數組小結............................................38 56講 排序介紹 冒泡排序............................................................................................................40 57講 選擇排序 插入排序 快速排序..........................................................................................42 58講 順序查找 二分查找............................................................................................................44 59講 多維數組 數組作業評講②................................................................................................46
36講 PHP基本語法介紹 PHP數據類型介紹
更新時間:2012年11月02日16時44分 來源: 1.1
單行注釋 // #
php的基本語法加強 Parse : 解析 error : 錯誤 syntax : 語法
①
php 可以和 html 混合使用 ②
php 的變量的定義使用
//php中,定義一個變量要以$符號打頭
$a=890;//我定義了一個變量, 該變量名叫 $a , 然后給該變量賦了一個值890 ③
php 的變量的數據類型,是變化的,php變量的數據類型是由運行時的上下文決定 ④
php區分大小寫 $i = 89;$I=90;$abc=90;$Abc=900;
⑤
php 的變量的名稱,應當以字母或者下劃線開頭,不要用數字開頭,也不要用特殊字符開頭.$3abc=89;
php 數據類型有哪些? 有三大類
1.基本數據類型 1.1 整型 1.2 小數型(浮動數)包含單精度和雙精度 1.3 布爾類型(表示真,和 假)1.4 字符串 2.復合數據類型 2.1 數組(array)2.2 對象(object)3.特殊數據類型 3.1 null
3.2 資源類型(resource)
37講 整型細節說明
更新時間:2012年11月04日19時18分 來源: 基本數據類型的入門案例: ■ 整型
整數類型可以表示一個整數,比如:
$ts=1;$ts=-12;■ 布爾類型
布爾型可以表示真或者假,比如:
$ts=true;$ts=false;■ 小數類型
小數類型可以表示一個小數(float,double)
$ts=1.12 $ts=3.1415926 ■ 字符串類型
字符串類型可以表示一個字符串
$ts=“我是一個好人 hello” 基本概念: 何為定義一個變量
$a=90;//相當于我們定義了一個變量 $a,并賦值90 ?>
什么叫給變量賦值
$a=78;
$a=8;//表示用新的值替代 78
$a=”hello”;//表示$a 的類型變化.?>
整型的細節討論
①在php中一個整型數據可以用十進制,也可以用八進制和十六進制 比如 :
$a = 0123;// 八進制數(是以0開頭)$a = 0x1A;// 十六進制數
0123 = 3*8的0次方 + 2*8的1次方+ 1*8的二次方 =3*1+2*8+1*64=83
0x1A= A*16的0次方 +1*16的一次方=10+16=26
$a=123=3*10的0次方+2*10的1此方+1*10的二次方=3+20+100=123 ② php的整數都是有符號數.通過該圖,我們可以看出,php的整數的二進制的最高位表示符號 ③ 通過 PHP_INT_SIZE
可以顯示我們自己的機器,一個整數用幾個字節表示 echo PHP_INT_SIZE;
通過PHP_INT_MAX 可以顯示int 最大的數有多少 echo PHP_INT_MAX;
請問? 為什么 PHP_INT_MAX是 2147483647 我們一起推一下
請問? php 的int 型,負數最大表示多少? 負數和正數一樣大 2的31次方減一
④ 如果一個整數的范圍超過了最大范圍,則自動變成float
38講 布爾細節 浮點數細節 字符串細節 算術運算符①
更新時間:2012年11月06日13時53分 來源: 學生的問題?
$a=2;問在內存中 2是怎樣存在的
00000000 00000000 00000000 00000010-> 0*2的0次方+1*2的一次方+..0=0+2=2 $a=-2 問在內存中形式
布爾類型
簡單的說 布爾類型就兩個值 true, 一個false;舉例: //布爾類型 $a=true;$b=false;布爾值 FALSE 自身 整型值 0(零)浮點型值 0.0(零)空 字符串, 以及 字符串“0” 不包括任何元素的數組
不包括任何成員變量的對象(僅PHP 4.0 適用)特殊類型 NULL(包括尚未設定的變量)
$conn=mysql_connect(“localhost”,”root”,”root”);if($conn){
echo ?ok?;}else{
echo ?沒有ok?;}
浮點數的細節
1.浮點數(也叫雙精度數或實數)
2.浮點數的字長和平臺相關,通常最大值是 1.8e308 并具有 14 位十進制數字的精度(這個限制很重要)? 精度要從左邊開始的第一個非0的數字計算.字符串的細節 $a=”hello”;
請問 $a 占用了多個是字節 5個字節 一個字符串類型可以表示多大的串?
①理論上,我們對字符串大小沒有限制,即只有不超過內存就可.②我們定義字符串的時候,可以用單引號,也可以使用雙引號 區別如下: $i=90;
$user1=“hello$i”;
$user2='hello$i';
echo '
user1='.$user1;
echo '
user2='.$user2;
從上面案例我們看出, 當一個變量包含在 “”號中時,會輸出它的值,而包含在?? 中是輸出其字符本身.案例2
如果字符串是包圍在單引號(?)中, 除了來處理 ” 時,會輸出 ” 外,其它規則都一樣
php數據類型的自動轉換
php的表達式
所謂表達式,就是任何有值的東西.$a=90+89;
php的算術運算符 +、-、*、/、%
39講 算術運算符② 比較運算符 邏輯運算符
php的算術運算符
更新時間:2012年11月08日17時42分 來源: +、-、*、/、% $a=90;
$b=7;
if($a%$b==0){
echo '能整除';
}else{
echo '不能整除!';
}
++ 和 – 快速入門: $a=90;
$a++;//等價于 $a=$a+1;
echo $a;
$b=89;
$b--;//等價于$b=$b-1;
echo '
'.$b;
細節 我們的++ 和 – 分為前++ 后 ++ ,--也分為 前--$a=56;$b=$a++;echo $b;echo $a;對上面代碼的分析如下: $a=56;
//$b=$a++;//等價于 $b=$a;$a=$a+1;
$b=++$a;//等價于 $a=$a+1;$b=$a;
echo $b.“||”;//-->$b 57
echo $a;//-->$a 57
左加 += 左減-=
左乘 *= 左除 /= 左取模 %= $a=90;
$a-=90;//$a=$a-90;echo $a;
比較運算符
案例: $a=2;$b=2.0
//只有值相等就為true if($a= =$b){
echo ?$a==$b?;}
//全等,要求$a 和 $b 值和類型要相等 if($a= = =$b){ }
對!=!= = 說明 //只有值不相等,則為true
if($a!=$b){
echo '$a!=$b';
}
//只要值不相等,或者類型不相等,則為true
if($a!==$b){
echo '$a!==$b';
}
請編寫一個程序,該程序可以接收兩個數(可以是整數,也可是小 數),并判斷兩個數是大于?小于?還是等于? 對應的案例:
$b=90;
if($a>$b){
echo '$a>$b';
}
if($a<$b)
{
echo '$a<$b';
}
if($a==$b){
echo '$a==$b';
} ?> 邏輯運算符
要求大家掌握的知識點有: 搞清每個邏輯運算的規則 案例 $a=10;$b=7;
if($a++>8 || $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;//把結果填寫 $a=10;$b=7;
if($a++>10 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;$a=10;$b=7;
if($a++>18 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;
? 面試題: and && 都表示邏輯與,他們的區別在什么地方 主要體現在優先級上面 and 的優先級 and< = <&& or < = < || 配合案例: $e = false || true;$f = false or true;var_dump($e, $f);$e 是 true $f 是 false;.....40講 三元運算符 類型運算符 運算符優先級
php基本語法-三元運算符 基本語法
表達式1 ? 表達式2 : 表達式3 規則:
更新時間:2012年11月11日18時53分 來源: 如果表達式1 的運算結果是 true, 則取 表達式2 的值,否則,取表達式3的值.舉例 :
$a=90;
$b=180;
$c=$a>$b?(12-10):“hello,world”;
echo 'c=='.$c;?>
php 的字符串運算符 案例:
$a=“hello,world”;
$b=123;
$c=$b.$a;//$a 具體表示內容和 $b 表示內容拼接
echo $c;
從上面案例我們看出,當兩個變量(基本數據類型)用.連接的時候,就表示把他們的內容拼接
類型運算符(了解)
基本語法是: instanceof 用于確定一個 PHP 變量是否屬于某一類 class 的實例,通常在面向對象開發中可能用的.class Dog{}
class Cat{}
//創建一個對象
$cat1=new Cat;
//var_dump($cat1 instanceof Dog);
//在實際開發中,我們可能需要去判斷某個變量是否是某個類型
if($cat1 instanceof Cat){
echo '$cat1 是一只貓';
}
運算符優先級的說明: //****運算優先級*****
? 如果將來你們有一個表達式很復雜,建議使用()來指定其運算優先級
$a=3;
$b=++$a*3;
echo $b;
41講 順序控制 分支控制(if ifelse switch)程序流程圖
更新時間:2012年11月16日10時30分 來源:
php程序的三大流程控制 ①
順序控制(從上到下,從左到右)$a=7;
echo “a=”.a;
echo “hello!”;
$a++;
echo “a=”.a;
echo “O(∩_∩)O”;
$a++;
echo “a=”+a;
所謂順序控制流程,就是不加控制的流程,默認情況,會按照,順序來執行你編寫的代碼 ②
分支控制
一個簡單的定義: 有選擇的來執行我們的代碼.分為 1.單分支 2.雙分支 3 多分支 1.單分支的基本語法結構 if(條件表達式){
語句;
//...//....}
這里我們,這里的條件表達式不管多復雜,最總運算的結果就是 true 或者 false;快速入門:
編寫一個程序,可以輸入人的年齡,如果該同志 的年齡大于18歲,則輸出 “你年齡大于18,要對 自己的行為負責!” $age=7;
if($age>18){
echo '你的年齡大于18';
} 2.雙分支 基本語法結構 if(條件表達式){
//n多語句;}else{
//n多語句;}
編寫一個程序,可以輸入人的年齡,如果該同志 的年齡大于18歲,則輸出 “你年齡大于18,要對
自己的行為負責!”。否則 ,輸出”你的年齡不大
這次放過你了.” 代碼: $age=4;
if($age>18){
echo '你的年齡大于18';
}else{
echo '你的年齡小于18';
}
echo '
程序結束!';
3.多重分支 基本語法結構是 if(條件表達式){ //n多語句
}else if(條件表達式){ //n 多語句 }else if(條件表示式){ //.}//這里可能還有更多的else if else{ }
? 對上面的結構請注意:
(1)else if 可以有一個,也可以有多個(2)else 可以沒有 快速入門案例:
編寫一個程序,可以輸入人的年齡,如果該同志 的年齡大于18歲,則輸出 “你年齡大于18,要對
自己的行為負責,送入監獄”。如果該同志的年
齡大于10歲并且小于等于18,則輸出 “你的年齡
也不小了,把你送少管所.”。其它情況,則輸出
“小孩子,下次注意”。代碼如下: $age=34;【1】 if($age>18【2】){
echo '你要被送入監獄';【3】 }else if($age>10 【4】 && $age<=18【5】){ echo '送入少管所';【6】 }else{
echo '下次注意';【7】 }
echo “over”;【8】 流程分析圖:
switch分支語句 基本語法結構 switch(表達式){ case 常量1: //n多語句;break;case 常量2: //n多語句 break;defual:
//n多語句;
break;} ? 請注意:
1.case 語句有一到多
2.defaul 語句可以沒有(根據自己代碼的業務邏輯)3.通常,在case 語句后,要帶break ,表示退出switch語句 4.常量的類型(int, float, 字符串, 布爾型)快速入門案例: 請編寫一個程序,該程序 可以接收一個字符,比如 : a,b,c,d,e,f,g
a表示星期一,b表示星期 二 … 根據用戶的輸入顯 示相依的信息.要求使用 switch 語句完成 $myChar=“b”;
switch($myChar){
case “a”:
echo '今天星期一,猴子穿新衣';
break;
case “b”:
echo '今天星期二,猴子當小二';
break;
case “c”:
echo '今天星期三,猴子爬雪山';
break;
default:
echo '沒有匹配的日期';
}
echo 'okokook';一個案例: $i=“11“;
switch($i){
case 10:
echo '10';
case 1.3:
echo '11';
break;
default:
echo 'hello';
//break;
case 11:
echo '12';
break;
}
該案例得出一個結論: //最終的結論是:
首先按照case順序進行配置,如果一個都沒有匹配到,則執行
default語句的內容,直到遇到break,則退出switch Default語句放置的位置對執行的結果沒有影響 如果$a=”1”,則會自動轉化為整型1
42講 循環控制①(for)
更新時間:2012年11月19日15時24分 來源: 學生的問題: 老師,說一下if語句和switch的區別,及應用場景。
回答: 從我們學習if 和 switch 分支看,if 對某個范圍的判斷,而switch是對一個點的判斷, 所以我們可以這樣去選擇他們: 應用場景: 當我們 的分支就是幾個點的時候(比如判斷坦克的方向),就應當使用swtich ,如果你的分支是幾個區域(范圍)的判斷,則考慮使用if ①
循環控制流程 首先說 for 循環控制 基本語法結構
for(循環初值;循環的條件;步長){
//n多語句;}
為什么需要循環控制 ?
問題 : 請輸出9000000句,”你好,北京” 這樣一問題: 怎樣讓我們的某段代碼,循環的執行 分析圖
for($i=0;$i<2;$i++){
echo '
你好,北京';
}
echo “over”;
內存圖:
43講 循環控制②(while dowhile)打印金字塔案例
更新時間:2012年11月20日11時54分 來源: while循環 基本語法結構是 while(循環條件){
//循環體 ,語句 }
案例: 使用while來打印 10句”你好北京 ” 代碼:
//*****while循環*****
$i=0;//$i循環控制變量
while($i<10){
echo '
你好北京'.$i;
//這里我們對循環控制變量,自增.$i++;
} 流程分析圖:
do..while循環控制 基本語法結構 do{
//循環體 }while(循環條件);
快速入門: 循環的顯示 10句,”你好北京”;$i=0;【1】//循環控制變量 do{
echo '
dowhile你好北京'.$i;【2】 //對循環控制變量修改
$i++;【3】//這里有程序員自己控制步長.}while($i<10【4】);執行的流程圖:
綜合案例: 要求:
請使用循環控制語句,輸出一個空心的菱形->兩個思想
1.死去活來 2.先易后難 3.建立自己的函數庫和工具庫(積累)
*
* *
* *
* *
*
但是這個菱形的層數可以靈活的變化.比較困難-------》簡單化
<-------->
案例如下:
//打印出金字塔的一半
//死去活來
//外層的for循環控制層數
for($i=1;$i<=3;$i++){
//內層控制每層*的個數
for($j=1;$j<=$i;$j++){
echo '*';
}
echo '
';
}
//打印出整個金字塔
//如果打印3層
// * *-> 1 2個空格 1個*(1-1)*2+1=// ** ***-> 2 1個空格 3個*(2-1)*2+1=// *** *****-> 3 0個空格 5個*(3-1)*2+1=
5$n=20;
for($i=1;$i<=$n;$i++){
//在打印*前,先打印空格
for($k=1;$k<=$n-$i;$k++){
echo “ ”;
}
//內層控制每層*的個數
for($j=1;$j<=($i-1)*2+1;$j++){
echo '*';
}
echo '
';
}
請大家打印出一個空心金字塔
*
* *
**** 思路:
我們可以這樣考慮,在給每行輸出* 號的時候,要有判斷,(該給*號給*號,該給空格給空格)
思路肯定分析:
和一個空心的菱形
45講 break語句 continue語句 常量
更新時間:2012年11月23日15時22分 來源:
循環相關的語句-break
基本的概念: 表示結束當前的 for、while、do..while、switch, 流程, 可以給一個數字,表示退出到第幾層.快速入門案例:
for($i=0;$i<13;$i++){ echo '$i='.$i.“
”;if($i==10){
break;} }
快速入門的案例2: $i=0;while(++$i){ switch($i){ case 5:
echo “quit at 5
”;break;case 10:
echo “quit at 10
”;break 2;default: break;}
}echo '$i='.$i;結果是: quit at 5 quit at 10 $i=10 分析圖:
從上面的案例,我們得到幾個結論: 1.break語句 默認跳出 1層
2.break語句 后面帶的數字,不能超過實際可以跳出的循環層數,否則,會報fatal error 循環相關語句-continue
基本概念: continue 用于結束本次循環剩余代碼,從新開始新的一次循環(如果條件為真,就繼續執行), continue 后面也可以帶數字,表示從第幾次循環重新開始 快速入門:
for($i=0;$i<13;$i++){ if($i==10){ continue;}
echo '$i='.$i.“
”;} 結果 $i=0 $i=1 $i=2 $i=4 $i=5 $i=6 $i=7 $i=8 $i=9 $i=10 $i=11 $i=12 hello 流程
goto語句
基本概念: 通過goto語句我們可以將程序跳轉到指定的地方去執行.goto 標簽;標簽: 語句;快速入門案例: goto a;echo 'aa';a: echo 'bb';快速入門案例2
for($i=0,$j=50;$i<100;$i++){ while($j--){
if($j==17)goto end;} }
echo “i = $i”;end:
echo 'j = 17 '.$i.“||”.$j;結果: j = 17
php中常量 說明:
所謂常量,我們可以理解成就是特殊的變量: 體現在 1.定義常量前面不需要 $ 2.常量一旦定義,則不能修改其值 3.常量在定義的時候,就需要它賦初值.4.常量可以通過 define 或者 const
5.常量的名稱,我們一般說是 全部大寫,然后用下劃線間隔
6.什么時候需要使用常量: 在程序中我們不希望某個值變化,則考慮使用常量,比如圓周率,稅率....快速入門案例:
//第一種方法
define(“TAX_RATE”,0.08);
echo TAX_RATE;
//第二種方法(php5.3)
const TAX_RATE2=0.1;
echo '-'.TAX_RATE2;?>
46講 函數基本概念 函數快速入門
函數講解
提出一個問題? 請大家完成這樣一個需求:
更新時間:2012年11月25日18時08分 來源: ①輸入兩個數,再輸入一個運算符(+,-,*,/),得到結果.如果我們不考慮使用新的技術,用我們現在的知識結構,完成
//請大家完成這樣一個需求:
//①輸入兩個數,再輸入一個運算符(+,-,*,/),得到結果.$num1=34;
$num2=90;
$oper=“-”;
//$res表示結果
$res=0;
switch($oper){
case “+”:
$res=$num1+$num2;
break;
case “-”:
$res=$num1-$num2;
break;
case “*”:
$res=$num1*$num2;
break;
case “/”:
$res=$num1/$num2;
break;
default:
echo '運算符號有誤!';
}
echo “計算結果是=”.$res;?>