2019鐵人賽
PHP
鐵人賽寫到今天也過了1/3,結果我還沒開始實作任何後端程式,真是慚愧!但是我覺得一個新手要開始實作之前,要穩固基礎很重要,所以還是先繼續講語法。
今天要聊得是函式
函式主要用法是把一段程式碼包裝起來,透過呼叫函式名,就可以重複執行函式裡面的程式碼。
這有什麼好處呢?
隨著程式開發程式碼會越來越多,如果遇到需要重複執行的程式碼,就只能複製,貼上!但是萬一遇到功能需要修改,那我們複製,貼上過的所有地方都要重新修改,萬一遇到沒修改到的地方,程式執行結果就會錯誤。
最好的解決辦法就是我們依據函式來劃分功能,每次需要哪個功能就呼叫哪個函式,而且萬一功能出現 bug 或者需要變更功能,我們也只要修改函式內容就可以,其他呼叫函式的地方都不用更動。
基本表示法:
function 函式名 (參數1, 參數2, ..., 參數x)
{
執行內容;
return 回傳值;
}
參數跟回傳值,都不是必備的,可有可無。
範例
<?php
function sayHello ($name)
{
echo "Hello, $name!";
}
sayHello('Kao');
echo 'end';
正常值情況下,電腦在執行程式指令是從上到下,從左到右。
但是大家可以看到一開始執行第2~5行的時候還不會印出 Hello, Kao!而是把它當成一個函式先記起來。
到了第6行呼叫名為 sayHello
的函式,所以程式碼在執行到第6行之後會在回去執行第2~5行印出 Hello, Kao!等執行完函式內容,在回到第6行尾巴,緊接著執行第7行。
答案是不用喔!因為 PHP4 之後就沒有這個限制了。
雖然函式宣告沒有先後順序,但是變數有分區域變數和全域變數
在 PHP 程式檔案中宣告的變數在宣告後,在程式檔案中呼叫都是有效的,這就稱爲全域變數。
函式內宣告的參數只能在函式的範圍內才能生效。
範例
<?php
$str = 'global parameter';
function echoString()
{
$str = 'local parameter';
echo $str;
}
echo $str;
echo '</br>';
echoString();
echo '</br>';
echo $str;
語法就決定只講到這裡了,但是新手朋友們,建議還是要去瞭解一下 OOP(物件導向)的概念,老實說我自己到現在對怎麼用 OOP 寫出好程式還是充滿著問號,但是懂了這個理論會有助於你瞭解別人寫的程式,尤其是後面如果要學框架,不懂 OOP 的話,應該是直接陣亡了吧!