PHP入門之函數
前言
之前對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全局變數的時候,可使用函數外的變數。

