在我們寫程式時勢必會有許多相同的程式和動作會不斷的重複使用。因此我們可以把需要重複使用的程式寫入一個區域(function 函式),以便我們可以隨時呼叫使用。而此種將程式寫入固定區域也就稱為函式(方法)。
準此,在自訂函式中我們可以將許多個函式集中寫在一頁,接著再分別到各頁面中引入函式並進行呼叫,進而撈取我們的資料。
另外棧長解講PHP接近尾聲時,若有時間的話也會簡略帶到物件導向的部分,物件的寫法的靈活度則更廣些,在物件中我們會將物件的資料定義為類別的屬性,功能定義為類別的方法,之後程式即可透過物件變數來操作類別中的自訂函式。PS.棧長當初理解物件的運用也花了不少時間,個人覺得這部分不算好學(光是什麼是類別、物件、建構子、封裝、繼承等等就讓我摸了一段時間),屆時我再用我的學習經驗和大家分享囉!
➤6.1 傳值呼叫及傳址呼叫
回歸正題,從上述可知函式(方法),可以讓我們將常態使用的程式寫入,並且在其他地方來呼叫使用。如有產生錯誤只需針對該方法進行修正即可。
自訂函式中,您也可以自帶參數或是不帶參數,若有放入參數請記得要用逗號隔開。
#自訂函式-不帶參數
<?php
//自訂函式-不帶參數
//函式內秀出文字,並呼叫
function welcome() {
echo "KT客棧歡迎各位棧友的到來! <br/>";
}
welcome();
?>
#自訂函式-不帶參數(寫入陣列)
<?php
//自訂函式-不帶參數
//函式內寫入陣列,並呼叫
function she() {
$showlist = array('Selena' ,'Hebe' ,'Ella');
foreach ($showlist as $key => $name) {
echo $name."<br>";
}
}
she();
?>
#自訂函式-帶參數
<?php
//自訂函式-帶參數
/*
函式帶參數"並非是必要的",但帶入參數可以增加函式的多變性
若是函式沒帶參數,則僅會執行函式內的程式。
*/
//自訂函式所帶的參數(下方的$car),正是我們自己帶入的自訂變數
function brand($car){
echo $car."<br/>";
}
brand("BENZ");
brand("TOYOTA");
?>
#自訂函式-參數傳值呼叫(函式內外變數同名,互不影響)
<?php
//自訂函式-參數傳值呼叫
//程式中定義了一個變數而它與自訂函式中參數的變數同名,仍會視為不同的資料,互不干涉
$kt = 5;
function house($kt){
$kt = $kt+10;
echo "自訂函式的值 : ". $kt ."<br/>";
}
house($kt);
//呼叫出來的最上方的變數,不受到自訂函式中參數的同名變數而受到影響
echo "呼叫最上方的值 :". $kt ."<hr>";
?>
#自訂函式-參數傳址呼叫(函式內外變數同名,會影響)
<?php
//自訂函式-參數傳址呼叫(函式內外變數同名,會影響)
//參數前加入"&"符號,會將傳值呼叫變更為傳址呼叫
//傳址呼叫會讓函式內外的變數,都因存入記憶體中的同一位址回傳給程式使用,而使資料(變數的值)同步
$kt = 5;
function park(&$kt){
$kt = $kt+10;
echo "自訂函式的值 : ". $kt ."<br/>";
}
park($kt);
echo "第1次呼叫最上方的值 :". $kt ."<br/>";
park($kt);
echo "第2次呼叫最上方的值 :". $kt ."<br/>";
?>
沒有留言:
張貼留言