前言
之前對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全域性變數的時候,可使用函式外的變數。