2017年10月11日 星期三

自訂函式

自訂函式

在程式設計的領域裡,「函式」(Function)就是一段可重複使用的程式碼,
它可傳入一個或多個參數,經過函式的處理、運算之後,可產生格式化的結果,
也就是說任何由函式所產生的結果都是有規則可循
基於此種特性,在程式的寫作上,可以充分地發揮此項優點,將需要做重複處理,或有一定規則的程式碼,利用函式來完成

其優點,除了可減少重覆撰寫程式碼的時間,更可以減少因人為的疏失所造成的錯誤,
而最棒的是,PHP早已提供了許多好用的函式,讓我們在撰寫程式時可以任意地使用,
在此章,讓我們來撰寫符合自己想要功能的函式,也就是「自訂函式」



建立自己的PHP函式
指令是愚笨的,但透過判斷式可以是聰穎的;
程式碼是堆疊的,但藉由「函式」卻可以有如環保回收般重複利用

什麼是函式?
所謂的函式,也只不過是一段可重複使用的程式碼
函式的基本架構為function myfunc1(){}
function  為宣告函式的字串(關鍵字)
myfunc1  是我們自訂函式的名稱
「括號()內」  可以放入想傳入至函式內的變數,若不需要傳入變數給函式使
              用,則空白
「大括號{}內」所包含的就是此函式的主體,也就是自訂函式的主要程式碼






宣告函式的語法
範例
function price()
{
 $m[0]=220;
 echo("普藤電視價格=".$m[0]);
}

price();

顯示結果
普藤電視價格=220


而「自訂函式」除了可以傳入參數之外,更可以利用return敘述傳回處理後的資料
且利用函式,其程式化及模組化的特性,使程式更簡潔、快速,也方便維護



函式的參數輸入與傳回值
建立可傳遞參數的函式,無論是PHP預設或是自訂的函式,其對於參數的傳遞接必須透過「變數」來做為資料溝通的橋樑
範例
設計一個阿拉伯數字轉換為國字數字的自訂函式
變數
資料型態
用途
$var
字串
記錄未轉換前的字串
$new_var
字串
記錄轉換後的字串
程式碼如下:
function myfunc2($var)
{
 switch($var)
 {
  case "1":
    $new_var= "";
    break;
  case "2":
    $new_var= "";
    break;
 
 
 }
 return $new_var;
}

$input="1";
echo("使用者輸入的阿拉伯數字=".$input."
");

echo("經轉為國字數字為=");
echo(myfunc2($input));

顯示結果
使用者輸入的阿拉伯數字=1
經轉為國字數字為=



變數的生命週期
PHP的程式設計裡,函式大部分都必須靠變數來作資料的傳遞
而函式內的所有變數,皆在此函式之內「生與滅」
要記住,所有在伺服器端執行的程式語言如ASPPHP等,不同網頁之間的溝通
大多數都得藉由變數的彼此傳遞,才得以達到交流的目的。
範例
驗證函式內的變數,在一離開函式之後即宣告死亡
function myfunc3()
{
 $a=101;
 echo("\$a=".$a."
");
}

myfunc3();
echo("\$a=".$a."
");

顯示結果
$a=101
$a=


建立會員申請網頁
目的:建立與驗證會員資料
變數:姓名、電子郵件、年齡、職業及地址
變數
資料型態
用途
$name
字串
記錄姓名資料
$email
字串
記錄電子郵件資料
$age
整數
記錄年齡資料
$occupation
字串
記錄職業資料
$address
字串
紀錄地址資料
$save
字串
判斷是否已送出資料
檔案規劃如下:
ex08_04.php  建立網頁雛形,讓網友登入的首頁,內含申請表單輸入的文字方塊
ex08_05.php  建立檢核函式,檢核電子郵件與年齡資料輸入,是否正確

製作表單程式ex08_04.php

</span><span style="font-family:細明體">鋼琴王子俱樂部會員申請表單<span lang="EN-US">

    鋼琴王子俱樂部會員申請表單
   
    姓名 : &nbsp &nbsp
    電子郵件 :
    年齡 : &nbsp &nbsp
    職業 :
    地址 : &nbsp &nbsp
   
    填好了,請按我!">
    重新設定">




建立檢核函式ex08_05.php
</span><span style="font-family:細明體">會員申請<span lang="EN-US">

沒有留言:

用頭腦去思考,不要人云亦云才好, 宗教信徒就是依賴與自私心態(求東求西)的人, 光是這點就很容易暴露弱點了, 難怪seafood吃飽飽,哈哈。 續上, 除了依賴與自私心態(兩者都是人性)之外。 另外也有很大一部份的人,是人云亦云的思考邏輯, 所以宗教才能譁眾取寵。