PHP入門之函式

雪痕*發表於2020-07-29

前言

之前對PHP的型別、運算子和流程控制簡單說了一下。想了解的,這是地址。
PHP入門之型別與運算子
PHP入門之流程控制
下面對函式簡單說一下。

函式的基本概念

為完成某一個功能的程式指令的合集,稱為函式。函式分為自定義函式和系統函式。

函式基本語法

function 函式名(引數列表){
語句;//函式(方法)主體
return語句; //返回值
}
函式的使用,可以增加程式的複用性,如果一個應用程式的功能,需要反覆使用,如果不使用函式,那麼就是一直複製貼上,複用性太差,如果使用函式,將這個功能封裝,想用這個功能,直接呼叫這個函式,方便多了。
舉個例子。
第一個頁面

<?php
function jisuan($sum1,$sum2,$oper){
    $res=0;
    switch ($oper){
        case "+":
            echo $res=$sum1+$sum2;
            break;
        case "-":
            echo $res=$sum1-$sum2;
            break;
        case "*":
            echo $res=$sum1*$sum2;
            break;
        case "/":
            echo $res=$sum1/$sum2;
            break;
        default:
            echo '輸入有誤';
            break;
            return $res;
    }
}
?>

第二個頁面

<?php
require "1.php";
$sum1=20;
$sum2=30;
$oper="+";
$res=jisuan($sum1,$sum2,$oper);   #這裡可以直接用實參,比如 $res=jisuan(2,3,'*')  結果等於6。
echo $res;
?>

兩個頁面相互呼叫細節

這裡需要了解四個函式
require()、require_once()
include()、include_once()
上面的兩個不同之處是require只要包含就引入,而require_once是先判斷有沒有,有就不包含了,沒有才包含。
include和include_once的不同和require的不同一樣。
那麼require的include的不同是什麼呢?
require遇到錯誤會報一個致命錯誤,終止程式。而include遇到錯誤會給一個警告,繼續執行程式。
舉個例子

a.php
<?php
   echo 'ok!';
}
?>
b.php                     #兩個ok!都會輸出。如果改為require_once,就只會輸出一個ok!
<?php
 require 'a.php';
 require 'a.php';
?>
 a.php
<?php
   echo 'ok!';
}
?>
b.php                 #因為c不存在,所以會給一個警告,但是最後的hahaha還是會輸出。如果改為require就會終止程式。
<?php
 include 'c.php';
 include 'a.php';
 echo 'hahaha'
?>

深入理解函式呼叫,碰到函式就會 呼叫一個新棧。拿一段程式碼舉例。

<?php
function abc($n){
if($n>2){
abc(--$n);
}
echo '$n='.$n.'<br/>';    #輸出結果是$n=2 $n=2 $n=3
}
abc(4);
?>
  • 函式的引數列表可以是多個,並且資料型別可以是任意的型別。

  • 函式的命名跟自定義變數一樣,首字母只能使用_或者a_z或者A_Z。

  • 一個自定義函式中的變數是區域性的,函式外不生效。

  • 使用global全域性變數的時候,可使用函式外的變數。

相關文章