函式 全域性,區域性變數,遞迴函式

2021-08-14 02:15:56 字數 2074 閱讀 1968

函式

一、語法:定義

//函式:完成指定任務的功能**塊,是乙個已經命名的。

function 函式名( [引數1,引數2...] )

使用: 函式名([引數。]);

注意:變數要先定義賦值,才可以輸出,但函式的定義和使用不部分先後順序的。

示例://定義乙個求累加的函式,要求引數乙個:表示要累加的值,返回求和後的結果 function dosum($m)

return $sum;

} 2. 判斷函式是否存在: funciton_exists("函式名"); 返回真true或假false

認識乙個函式從3個方面:

1. 函式的功能 2. 引數的型別,是否可選

3. 返回值

二、變數的作用域(範圍)

(1)由於函式的出現,導致變數的能見度(生命週期)不同。

共劃分為:全域性變數、區域性變數、 靜態變數:

1. 全域性變數:就是在函式外定義變數

作用域:在函式外和函式內都可以看到的,並可以使用的變數

注意:在函式內使用函式外的全域性變數要使用global關鍵字先宣告一下。

<?php

$a=10;//定義乙個變數a值為10

$b=20;

function fun()

fun(); //呼叫函式fun

echo $a; //沒有輸出,在函式內定義的變數,在函式外是無法使用的

?>

3. 靜態變數:在函式內使用static關鍵字定義的變數

//變數作用域:靜態變數的使用

function fun()

fun(); //1

fun(); //2

fun(); //3

fun(); //4

三、函式中引數的傳遞:值傳遞、引用方式傳遞、引數預設值、可變長度引數列表。

1.值傳遞:

在定義函式時的引數是普通引數;

2.引用方式傳遞:

使用&符來實現引用傳遞,就是將引數直接給給函式使用。(起別名)

假如函式內容發生改變,會使當前引數也發生改變。 注意:呼叫引用引數時,必須使用變數,不可以直接用值。

如:fun($x); 不可以使用fun(10);

在定義函式時的引數是使用&標識的引數;

function myadd($x,$y,&$z)

$a=10;

$b=20;

$sum=0;

myadd($a,$b,$sum);//呼叫函式myadd,將前兩個引數的和賦給第三個引數

echo $sum; //30

3.引數預設值:

我們可以在定義函式時,將部分引數提前附上初始值,

當被呼叫時沒有給這引數傳值,就會採用預設值,以保障函式正常使用。

要求預設值從引數的右邊開始。 4.可變長度引數列表。

此函式的引數個數任意個。

func_get_args();//以陣列的方式返回所有的引數資訊

func_get_arg($index) //獲取指定引數位置(index:從0開始的整數)的資訊

func_num_args()//獲取引數的個數。

5. 變數函式:就是呼叫函式使用的不是直接的函式名,而是乙個變數。

如:要呼叫add函式。應該是:add(10,20);

但是: $name="add"; $name(10,20); 等價於add(10,20);

四. 變數函式

就是函式的名字也是個變數時,就是變數函式。

$name="sum";

$name(); //等價於 sum( );

五. 遞迴函式:

遞迴函式--就是在函式體的**中出現了呼叫自己本身函式的語句。注意遞迴的結束。

六.require和include

通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require和include 所指定引入的檔案,使它變成 php 程式的一部份。常用的函式,亦可以這個方法將它引入當前指令碼中。

區別:require乙個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤

include乙個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示乙個警告錯誤。

五 Python 全域性與區域性變數 函式遞迴

11.變數 全域性變數 沒有縮排的變數稱為全域性變數 name tom print name def test print name test 區域性變數 在函式內部定義帶有縮排的變數稱為區域性變數 全域性作用域與區域性作用域 函式外部的區域稱為全域性作用域 函式內部的區域稱為區域性作用域 函式內部...

static 全域性變數 區域性變數 函式

c語言中使用靜態函式的好處 靜態函式會被自動分配在乙個一直使用的儲存區,直到退出應用程式例項,避免了呼叫函式時壓棧出棧,速度快很多。關鍵字 static 譯成中文就是 靜態的 所以內部函式又稱靜態函式。但此處 static 的含義不是指儲存方式,而是指對函式的作用域僅侷限 於本檔案。使用內部函式的好...

static修飾全域性區域性變數函式

1.static修飾全域性變數 特點如下 1 儲存區 靜態儲存區靜態儲存區在整個程式執行期間都存在 2 作用域 全域性靜態變數在宣告他的檔案之外是不可見的。準確地講從定義之處開始到檔案結尾。非靜態全域性 變數的作用域是整個源程式 多個原始檔可以共同使用 好處 1 不會被其他檔案所訪問,修改 2 其他...