2010年3月15日星期一

網頁設計PHP基本語句和函數及相關網站技術基礎

無標題文件

網頁設計PHP基本語句和函數及相關網站技術基礎

發佈者:作者:Web Design香港網頁設計大皇 - 網站設計

Web Design

  大家可能都有自己的服務器,至少也有個空間什麼的,但本地的調試很多時候是不可少的,速度和效率也比弄到服務器上再去玩兒要快和方便,現在有很多PHP平台的搭建包,比如XAMPP,WAMP,APPSERV,EASYPHP等等,我推薦也是自己一般開發調試用的是XAMPP

  我給個下載地址

  http://webdesign.zoapcon.comcom/download/soft/amp/xampp-win32-1.6.6a-installer.exe

  不是廣告 phpchina的``呵呵

  這個平台很容易使用`裝好後打開xampp-control控制程序,啟動Apache和MySQL就可以玩兒了,若想開機自動啟動這兩項服務可以勾選前面的SVC將其註冊為服務.

  服務啟動後就可以在瀏覽器中輸入http://localhost或者http://127.0.0.1來瀏覽,默認是XAMPP的管理頁面,建議根據提示進行一些必要的安全設置.

  MySQL數據庫的管理程序請登陸http://127.0.0.1/phpmyadmin,phpmyadmin是一款非常強大的MYSQL在線管理軟件,相信使用PHP的站友們對它都不陌生了.

  網站的根目錄是安裝目錄中的htdocs文件夾,當然你也可以通過更改apache/conf/httpd.conf文件中的相關設置來指定你的網站根目錄,更改請謹慎,建議參考相關手冊.

  將相關網站文件拷貝到根目錄下,比如dedecms,你就可以通過http://127.0.0.1/dedecms來瀏覽相應網站了.

  然後是編輯器,如果你非想挑戰記事本我也不攔你,只是在你成為真正的高手之前你會發現記事本會讓你效率很低,大家一般不是要開發大型PHP項目,綜合考慮還是推薦大家使用Dreamweaver,CS3版是不錯的選擇.

  下面我們說PHP語言基礎,相信大家在看完這些基礎後,以後自己的網站有個什麼小毛病,或者想添加點小功能,應該都是可以做到的

  慣例,萬事從hello world起.PHP的是這樣寫

  

  echo "hello world!";

  ?>

  標記說明這段是php程序,你可以簡寫成值得新手注意的是,所有標記和符號都要在半角狀態下輸入.

  下面的程序都要在內輸入,我就簡寫了.

  echo是輸出語句,echo後面跟的所有字符串都會被輸出為HTML發送到客戶端的瀏覽器上面

  所以如果這樣寫

  echo "hello world!";

  將輸出一個加粗的hello world!而不是整個hello world!.

  每條PHP語句後面都需要加上;結尾,切記,這也是新手常常忘記的地方

  ""號內的是字符串,簡單理解就是一串字符,這裡就要提到變量了,PHP裡規定,變量不須申明,只須在使用的時候在變量名前加上$就可以了,再看一個例子.

  $str="hello world!";

  echo $str;

  這段仍舊輸出hello world!

  那有點程序基礎的站友可能要問了,那怎樣確定數據類型呢?

  這裡我要說明一下,PHP的數據可大致分為8種類型:

  string:字符串

  integer:整數

  float:浮點數(小數)

  boolean:布爾型

  array:數組

  object:對像

  還有兩種是特殊的

  NULL:空值

  resource:資源型

  但是在使用變量時,你要做的僅僅是加上$就可以了,PHP會自動的幫你完成相應的數據識別和轉換,具體的轉換規則有興趣的站友可以去查閱相關教程.

  例如:

  $str="123";

  $num=456;

  echo $str.$num."789";

  這裡的變量$str是string型,$num是integer型,經過.運算(就是指連接字符串運算)後將輸出123456789

  但我們把最後的echo $str.$num."789";改成echo $str+$num+"789";則會輸出1368,大家體會一下PHP在這兩個運算中對數據的自動轉換.

  當然我們也有強制或者說手動轉換的方法,(string)$num就代表把integer型的$num轉換成string

  值得注意的是(string)$num這個整體是string型,但$num仍舊是integer型,這點不會改變

  我們也可以用gettype()函數隨時跟蹤一個變量的類型.比如上面例子中最後加句echo gettype($str);則將輸出string

  PHP對常量定義的例子請看:

  define("USERNAME","ERROR.SYS");

  define("QQ","110187");

  echo USERNAME."的Q是".QQ;

  這段將輸出 ERROR.SYS的Q是110187,常量的使用很簡單,我就不做過多的解釋了

  下面接著說PHP的運算符,與C語系的其他語言是大同小異的,有C語系基礎的可以跳過```

  除上面所說的 . 和 + 運算符外PHP的其他運算符如下

  算術運算符:+ 加,- 減 ,* 乘 ,/ 除 ,% 取餘數 ,++ 變量自加,-- 變量自減

  例如:

  $a=1;

  $b=2;

  echo $a+$b; //3

  echo $a-$b; //-1

  echo $a*$b; //2

  echo $b/$a; //2

  echo $b%$a; //0

  echo $a++; //1

  echo $a; //2

  echo ++$a; //3

  echo $a--; //3

  echo $a; //2

  echo --$a; //1

  //是註釋,即後面所寫的是給編程人員看的,程序本身會忽略所有註釋中的語句,大段註釋可以使用 /*註釋內容*/ ,上段程序每句的運行結果就在註釋中,沒有程序基礎的站友請結合例子特別仔細體會一下++運算和--運算.

  賦值運算符:=,+=,-+,*=,/=,%=,/=

  $a=3;

  $a+=1;

  echo $a; //4

  $a+=1;是$a=$a+1的簡寫,其他賦值運算符以此類推.

  邏輯運算符:> 大於,< 小於,>= 大於等於,<= 小於等於,== 等於,=== 值和類型都相等,!= 不等於,&&或and 與,且,||或or 或,xor 異或,! 非

  值得新手注意的是要判斷兩個變量是否相等要用==,比如$a==$b,而$a=$b,不是在判斷兩者是否相等,而是將$b的值賦給$a.

  位運算符:& 按位與,| 按位或,^ 異或,<< 左移,>> 右移,~ 按位取反

  其他運算符:& 取地址,-> 對象的方法或屬性,=> 數組操作,?:

  ?:是重點要說明的,比如

  $a=1;

  $b=2;

  echo $a<$b?3:4;

  這段輸出3,因為?的左邊判斷$a是否小於$b,答案是肯定的,所以輸出3,否則輸出4.

  下面說語句

  if語句,if是最常用的程序邏輯,很多時候大家要改個小功能也就是改個if邏輯就能搞定

  例如

  $a=1;

  $b=2;

  if($a>$b){

  echo "a大於b";

  }else{

  echo "a不大於b";

  }

  如英文的意思if是如果else是否則

  這段意思就是

  先把1賦值給變量$a然後把2賦值給變量$b,如果$a>$b則輸出a大於b,否則則輸出a不大於b,細心的朋友可以發現這個邏輯跟上面的?:運算很像.的確?:是if的一種簡寫形式,很多時候用?:可以提高編寫效率

  switch語句,這也是條件選擇語句,相對於if,它是一個多項選擇語句,即一次可以判斷多個條件

  例如

  $num=1;

  switch($num){

  case 1:

  echo "num的值是1";break;

  case 2

  echo "num的值是2";break;

  case 3

  echo "num的值是3";break;

  default:

  echo "num沒有值";break;

  }

  更正一下

  $num=1;

  switch($num){

  case 1:

  echo "num的值是1";break;

  case 2:

  echo "num的值是2";break;

  case 3:

  echo "num的值是3";break;

  default:

  echo "num沒有值";break;

  }

  上面那段case 2和case 3後面沒有:號,php程序一定要注意格式,否則會報錯,很多網站的小錯誤都是這樣造成的

  這段的意思很簡單

  先給$num賦值1,switch語句判斷$num的值,如果是1則輸出num的值是1,2和3的情況同樣,default是默認情況,就是如果$num 1,2,3都不是的時候就輸出num沒有值

  while語句,同if的條件結構相同,另一個重要的程序結構就是循環結構,while就是循環語句的一種

  例如

  $a=1;

  while($a<5){

  echo "HI!";

  $a++;

  }

  這段將連續輸出HI!HI!HI!HI!

  意思是把1賦值給$a

  然後進入while循環while就是當的意思,意為當$a小於5的時候輸出HI!然後$a進行自加運算,也就是每循環一次$a就大一,當$a等於5的時候就不會執行輸出HI!了``所以一共會輸出4次HI!

  do while語句

  例如

  $a=1;

  do{

  echo "HI!";

  }while($a>1)

  這段將輸出HI!,do while與while的不同就在於while會先檢查條件是否滿足再決定是否進入循環 ,而do while是不論是否滿足條件都將進入循環一次,然後用while檢查是否滿足條件以決定是否繼續循環``所以這段雖然$a只是1,沒有大於1,但仍輸出了一次HI!

  for語句,for同if一樣是使用最多的語句,同樣也是循環,其可以完全取代while和do while

  例如我們改寫上面while的例子

  $a=1;

  for($i=1;$i<5;$i++){

  echo "HI!";

  }

  這將得到同while示例中一樣的輸出

  其中$a賦值1

  開始for循環

  給循環變量$i賦值1,這也是循環的初始值,$i<5是每次循環要檢查的條件,只有滿足這個條件時才會執行循環體中的語句,$i++是每次執行循環體中語句後要做的事情,這裡是將循環變量$i進行自加運算,原理同while的一樣,每次循環$i都會增加1>

  break和continue語句

  break語句用於中斷,如上面的switch語句中每個case後面都有break就是說每次輸出了,就要終止switch語句的執行,如果不寫這個break,那麼像這個例子

  $num=1;

  switch($num){

  case 1:

  echo "num的值是1";break;

  case 2

  echo "num的值是2";break;

  case 3

  echo "num的值是3";break;

  default:

  echo "num沒有值";break;

  }

  沒有break

  $num=1;

  switch($num){

  case 1:

  echo "num的值是1";

  case 2

  echo "num的值是2";

  case 3

  echo "num的值是3";

  default:

  echo "num沒有值";

  }

  就無法執行原有功能

  而continue語句,則是暫停

  $a=1;

  for($i=1;$i<5;$i++){

  if($i==3)continue;

  echo "HI!";

  }

  這段就只會輸出3次HI!,因為當$i等於3時,循環被暫停了一次

  好了,前面是PHP語言基礎中的基礎,有了這些,就可以寫出完整的代碼塊了,有時間我們繼續講PHP一些其他的基礎內容,包括函數,字符串,數組,正則表達式,PHP5的面向對像技術,PHP的數據庫編程,還有文件系統等等內容

  沒有什麼準備,講得不大好,今天講了這麼多``估計能聽下來的也估計被我忽得一知半解``不過沒關係``PHP總體來說是一個比較容易學習功能和擴展性都不錯的語言``等貼到論壇後``有興趣的朋友可以稍微再看看``希望對大家做站能有所幫助

  沒有一些最最基礎的東西``但願大家看了後``能自己動手改網站的一些BUG和功能``

  有C基礎的`很容易明白`前面的內容大半就是C的東西``呵呵``

  ``編程就是多實踐``不求自己寫``做站長的``基本的代碼還是能看懂的為好``凡是不求人`也不被技術人員忽悠嘛``

Web Hosting

没有评论:

发表评论