PHP函数和变数的作用域.ppt

上传人:小飞机 文档编号:5443657 上传时间:2023-07-07 格式:PPT 页数:81 大小:1.23MB
返回 下载 相关 举报
PHP函数和变数的作用域.ppt_第1页
第1页 / 共81页
PHP函数和变数的作用域.ppt_第2页
第2页 / 共81页
PHP函数和变数的作用域.ppt_第3页
第3页 / 共81页
PHP函数和变数的作用域.ppt_第4页
第4页 / 共81页
PHP函数和变数的作用域.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《PHP函数和变数的作用域.ppt》由会员分享,可在线阅读,更多相关《PHP函数和变数的作用域.ppt(81页珍藏版)》请在三一办公上搜索。

1、第7章,PHP函數和變數的作用域,7.1 自訂函數,函數,函數是指可以按照“黑盒子”的方式思考我們周圍的許多要解決的問題,函數可讓使用者自由改變某些參數,而且都能產生合理回應的黑盒子。,自訂函數,自訂函數則是指程式設計師自行定義的函數程式,可以放在程式的最開頭,或是在程式前端include或require進來。,格式:,範例7-1:Ex7-1.php,圖7-1:函數程式實例,使用者自定函數名稱的命名有三個限制:,不能與 PHP 的內建函數名稱同名。例如名稱不能為 echo()。函數名稱不能以數字開頭。函數名稱不能使用.(period),例如 add.integer()就是一個錯誤的函數名稱。,

2、7.2 參數傳遞與傳回值,call by value 與 call by reference,PHP 支援 call by value 與 call by reference 兩種傳遞參數的方法,並且在函數執行結束後,可以利用 return 傳回一個值給呼叫的父程式。,call by value,call by value 是呼叫父程式直接將值或變數傳給函數,因此該數值或變數被儲存於兩個不同的記憶體位置。當傳入一個變數時,在函數裡改變傳入的參數值對父程式的變數並不會造成影嚮。,範例7-2:Ex7-2.php,圖7-2:call by value程式實例,call by reference,利用

3、 call by reference 傳入一個變數參考時,等於是將指向該變數的指標傳給函數,在函數裡改變該參考等於改變原來的變數值,因此可以達到改變原來變數值的效果。,call by reference二種做法,PHP 程式裡如果要傳遞參考(call by reference)的話,有二種做法,第1種方法,呼叫函數時在變數前加上,範例7-3:Ex7-3.php,圖7-3:call by reference 1程式實例,第二種方法,是在函數的參數加上&,範例7-4:Ex7-4.php,圖7-6:call by reference 2程式實例,參數預設值,參數預設值就是參數可以事先給予內定值,當我

4、們未傳入該參數值時,可用內定值代替之。,範例7-5:Ex7-5.php,圖7-7:參數預設值程式實例,內定值少傳參數,有定義內定值的參數在呼叫該函數時可以省略不傳,但一定要放在所有參數的最右邊,否則 PHP 會誤以為您少給了一個參數。,範例7-6:Ex7-6.php,圖7-8:內定值少傳參數程式實例,傳回值。,由於一個函數只會有一個有效的 return值,所以只能有一個傳回值。,傳回多個值,如果要傳回多個值,可以利用傳回陣列的小技巧來達成,範例7-7:Ex7-7.php,圖7-9:傳回多個值程式實例,可變函數名稱,一般程式語言的函數名稱是在定義函數時即決定好,但 PHP可以讓我們將函數的名稱存

5、放在一個變數裡,當呼叫這個變數時,即等於呼叫變數值相對應的函數。,範例7-8:Ex7-8.php,圖7-10:可變函數名稱程式實例,7.4變數影響範圍,變數影響範圍,變數的影響範圍通常是 global,自啟用起,至該程式結束均有效;但在自定的函數中,變數的影響範圍是 local,則只侷限在函數內部。,範例7-9:Ex7-9.php,圖7-11:變數影響範圍程式實例,引用外部的變數,若希望在自定函數內引用外部的變數,則使用關鍵字 global 宣告,或是使用 global 變數陣列$GLOBALS。,格式:,範例7-10:Ex7-10.php,圖7-12:global宣告變數程式實例,$GLOB

6、ALS變數陣列格式:,範例7-11:Ex7-11.php,圖7-13:$GLOBALS變數陣列程式實例,7.5 引用檔案,引用檔案,PHP程式要引用某個檔案,使用 require 或 include 兩個語法皆可,require 與 include 都是個語法,而非函數。,require,require 的使用方法如 require(header.inc);。,範例7-12,圖7-14:require程式實例,require_once,require_once 的功能和 require 是幾乎相同的,唯一的差別在於 require_once 會先檢查要引入的檔案是不是已經在該程式中的其他地方被

7、引入過了;如果有的話,就不會再次重複引入該檔案。,範例7-13:Ex7-13.php,圖7-15:require程式實例,include,include 使用方法如 include(“header.php”);。這個語法一般是放在流程控制的處理區段中。PHP 程式網頁在讀到 include 的檔案時,才將它讀進來。,範例7-14,圖7-16:include程式實例,include_once,include_once 會先檢查欲引入檔案的內容是不是在之前就已經引入過了;如果是的話,便不會再次重複引入同樣的內容。,範例7-15:Ex7-15.php,圖7-17:include_once程式實例,r

8、equire 與 include差異,require適合用來引入靜態的內容,例如:自訂函數、版權宣告等,而 include則適合用來引入動態的程式碼,程式內容會依父程式的其他行程式碼而變動,例如:變數.等。,7.6 cookie與session,cookie與session,Session 與 Cookie 看來都是用來作暫時記錄一些資訊,使網頁設計者無需將所有資料都需要經 GET 或 POST 不停傳來傳去。,Cookie的定義,Cookie,或稱Cookies,指某些網站為了辨別用戶身分而儲存在用戶本地終端上的資料,通常經過加密。,Cookie的用途,Cookie可以用做在網頁系統上,最常

9、用在會員系統上,可用來記住每個會員的ID和密碼,及一些相關的會員基本資料。,圖7-18:Cookie的用途,Cookie的限制:,瀏覽器記錄cookie的容量是有限制的,一個Cookie最大長度是4KB。每個瀏覽器只能針對某個伺服器存取20個Cookie。如果試圖保存更多的 Cookie,則最先保存的 Cookie 就會被刪除。每個使用者的瀏覽器總數只能存取300個Cookie。有些瀏覽器可以把Cookie的功能關掉,若關掉後cookie就不能使用,例如:IE。很難解決這個問題,除非完全不使用 cookie 而是通過其他機制來保存用戶相關資訊。,cookie的格式:,表7-1 setcooki

10、e()參數的型別和意義,範例7-16:Ex7-16.php,圖7-19:cookie程式實例,Cookie 的有效日期,如果你要在用戶關閉他的瀏覽器之後,保留這個 Cookie,你必須傳送第三個參數給 setcookie()函數,亦即設定這個 Cookie 的有效日期。,Session,Session是每個登入使用者的個別連線,若有20個人登入網站,就有20個代表各使用者的Session。Session變數則是儲存在Web伺服器內。,Session的用途,對於專屬於某Session連線的資料,應該將其儲存在Session的物件中。當使用者進入你的網站後,可能有很多關於使用者的資訊,好比一個電子商務系統中會記錄使用者買了多少東西,數量多少,.等等,Session專屬的語法,範例7-17:Ex7-17.php,圖7-20:Session程式實例,範例7-18:show_ip.php,圖7-21:show session變數程式實例,表7-2 Session函式庫,表7-2 Session函式庫(續),本章結束,謝謝!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号