iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
0
tags: 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 的話,應該是直接陣亡了吧!


上一篇
Day 10 - PHP 基礎語法 part III
下一篇
Day 12 - 程式引入檔
系列文
新手後端工程師的學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言