4.
PHP函數與引入
一、 PHP的資料型態
- 字串 string
- 整數 integer:整數可分正負,如100或-100,整數不需加任何引號。
- 浮點數 float:有內含小數點的數字,浮點數也不需要加任何引號。
- 布林值 boolean:即true與false,無大小寫之分
- (1) true:非空字串、非0數值
- (2) false:空字串、數字0、NULL
- 陣列 array(另外說明)
- 物件 object(另外說明)
- 資源 resource:通常是一些連接伺服器,或者開啟目錄、開啟檔案的傳回值
- 無值 NULL:需大寫、NULL和空值意義並不一樣。
二、 關於函數
- 函數有兩種,一組是PHP內建函數,另一種是自訂的函數。
- 一個函數通常都有其獨特的功能,可視為具特定功能的小零件,直接呼叫使用即可,如:phpinfo(),有些有傳回值,有些沒有;有些需要輸入參數,有些不用。
- 完整函數手冊:http://www.php.net/manual/en/funcref.php
- 函數基本結構:傳回值 函數名稱(參數1,參數2...);
- 函數傳回值有:string(字串)、int(整數)、array(陣列)、object(物件)、bool(布林值)、void(無傳回值)、mixed(不一定)、new(建立物件)
三、 自訂函數的基本結構
- 可以自己定義函數,但函數名稱不可以重複。
function 函數名稱($參數1="預設值1", $參數2=null,...){
global 宣告為全域變數;
程式內容;
return 傳回值;
}
- 參數、預設值、global、傳回值都不一定要有。
- 函數可以擺在<?php ... ?>中的任何地方,放在哪裡都可以,前後都不影響程式。
- 函數內的變數無法與外界互通,只能以global方式或設成參數放進函數中。
四、 PHP常數
- PHP常數的定義方式:
define("常數名稱","常數值");
- 先定義先贏,後面定義的無效。
- 常數可任意使用在任何地方,包括函數內、物件內。
- 常數名稱和變數遵循同樣的命名規則,其值只能是字串、數字、浮點數和布林值。
- 常數有分大小寫,通常習慣將常數名稱用大寫英文,最前面加上底線,以方便辨識。
- PHP有預先定義好一些常數:
- (1) __LINE__:傳回目前在檔案中的行數位置(或者說,此常數的所在行數)
- (2) __FILE__:傳回此常數所在檔案的完整路徑及檔案名稱。
- (3) __FUNCTION__:此常數會傳回函數名稱,php5有分大小寫,PHP4則均小寫。
- (4) __CLASS__:此常數會傳回該物件名稱,php5有分大小寫,PHP4則均小寫。
- (5) __METHOD__:傳回該物件方法的名稱。
五、 引入檔案
- include() 和require() 都可以用來引入檔案,但原理不太一樣。
- require() :若引入不到檔案,會導致程式停擺。
- include():若引入不到檔案,僅秀出警告,程式仍繼續運作。
- require_once() 與 include_once() :引入進來的檔案若是相同的,只會 include 或 require一次。推薦使用!
- () 不一定要寫,寫成include "xxx.php"; 也可以。
六、 關於header("location:xxx.php");
- 在header("location:xxx.php")之後的東西仍會繼續執行,故加個exit最保險。
- 若之前有include檔案,被引入的檔案中需注意,不要有空白或其他輸出字元。
七、 switch搭配$op流程控制技巧
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
switch($op){
case "值1":
執行動作1;
break;
default:
預設執行動作;
break;
}
八、 While迴圈:不曉得要跑幾圈的迴圈最適合用while迴圈
while (條件){
敘述句;
}
九、 for迴圈:適合用在已經知道要跑幾圈的情況
for($i=0 ; $i<=9 ; $i++){
敘述句…;
}
十、 foreach迴圈:適合用在陣列上
foreach($陣列 as $索引=>$值) {
敘述句;
}
十一、 break和continue
- break和continue都是在迴圈裡使用的語法(break還可以用在switch中),一個是用來中斷迴圈,一個則是用來略過某一次的迴圈。
- 若是雙迴圈,可以用break 2;,來跳出兩層迴圈。
十二、 Bootstrap的表格樣式設定
http://v3.bootcss.com/css/#tables