標籤:php
1 require和include函數
幾乎相同
唯一區別:require()函數會給出一個致命錯誤,而include()只給一個警告。
變種require_once和include_once?
防止錯誤的引入同樣的函數庫兩次。出現重複定義的錯誤。而原版本的運行速度較快。
2 require用法
php不會查看require函數中檔案的副檔名。使用require()語句載入檔案page.html,檔案內任何php命令都會被處理。但php代碼放到php標記之間才會被處理成php代碼。否則,代碼將被視為文本或html指令碼不會被執行
通常,php只解析副檔名被定義為.php的檔案。而require函數則不同。
3 調用未定義的函數
檢查:
函數名稱的拼字是否正確
函數是否存在於所用的php版本庫中
4 函數名稱的大小寫
函數調用不區分大小寫
變數名稱區分大小寫
5 封閉php標記
<?php function my_fun() {?>//這裡必須有php封閉標記my function was called.<?php }?>
6 內建函數
內建函數在所有的php指令碼中都可以使用但如果聲明自己的函數,它們只能在自己的指令碼中使用。
php不支援函數重載,不能和內建函數重名。
避免再多個指令碼中定義相同的函數名。
7 可變函數
name()並不是一個函數合法名稱,但是一個它也可以正確執行,這是根據name的值來確定。php取出儲存在$name中的值,尋找具有那個名稱的函數,並且調用該函數。這種函數被稱為可變函數。
8 echo對變數的影響
function fn() { $var = "contents";}fn();echo $var; // 什麼也沒有輸出// 如下所示的例子剛好相反。在函數外部聲明一個變數,然後在函數內部使用它<?phpfunction fn() { echo "inside the function, \$var = ".$var. "<br/>"; // 建立一個局部變數 $var $var = "contents 2"; // 改變局部變數 $var 的值 echo "inside the function, \$var = ".$var. "<br/>";}$var = "contents 1";fn();echo "outside the function, \$var = ".$var. "<br/>"// outputinside the function, $var =inside the function, $var = contents 2outside the function, $var = contents 1 // 全域 $var 沒有改變
9 global關鍵字
global可以用來手動指定一個在函數中定義或使用的變數具有全域範圍。
function fn() { global $var; $var = "contents"; echo "inside the function, \$var = ". $var ."<br/>";}fn(); echo "outside the function, \$var = ". $var ."<br/>";// outputinside the function, $var = contentsoutside the function, $var = contents
變數的範圍是從執行global $var這一句開始的。
當一個變數要在整個指令碼中都要用到,在指令碼的開始處使用關鍵字global
10 參數引用傳遞
function increment(&$value, $amount =1) {$value=$value+$amount;}$value = 1;echo $value; // print 1increment($value);echo $value; // print 2
《php與MySQL Web開發》-讀書筆記一