php基礎03 函式

2021-07-25 15:33:57 字數 2437 閱讀 9341

分為內建函式和自定義函式;

函式名不區分大小寫,不過在呼叫函式的時候,通常使用其在定義時相同的形式;

php不支援函式過載,所以自定義函式不能與內建函式重名。

值傳遞:函式內對引數值的改變不會影響函式外部的值;

引用傳遞(傳址

):有些情況下,可能希望在函式體內對引數的修改在函式體外也能反映;

使用引用傳遞引數要在引數前加上&符號;

變數本身傳入,傳入後的變數與變數建立聯絡;

函式體內變數的變化,會影響到原變數本身;

預設引數值:可以為引數指定預設值,在沒有提供其他值的情況下,則將預設值自動賦。

舉例說明:

1. 引用傳遞

$a = 6;

$b = &$a;//獲取的是$a的位址而不是值

$b = 8;//當$b改變,$a也會改變

echo "";

echo $a;//8

function fn1(&$c)

fn1($b);

echo "";

echo "$b";//8,呼叫函式相當於$b = &$c

2.值傳遞

$a1 = 5;

$b1 = $a1;//獲取的是$a1的值

$b1 = 8;//當$c1改變,$a1不會改變

echo "";

echo $a1;//5

function fn($a3 = 0,$b3 = 0)

//當不傳參時設定$a3 = 0,$b3 = 0,這樣不會報錯

fn($a1,$b1);//傳參,結果13

1.區域性變數

函式體內定義的變數為區域性變數,只在函式體內可見;

區域性變數的作用域:從宣告它的那條語句開始到函式結束;

$a = 0;

function fn()

fn();

echo $a;//0,$a是區域性變數fn();與echo $a;沒有關係

2.全域性變數

函式體外定義的變數為全域性變數,與區域性變數相反,全域性變數可以在程式的任何地方訪問;

如果在函式體中需要使用全域性變數,使用 global 關鍵字訪問;

全域性變數的作用域:從宣告它的那條語句開始到檔案末尾;

$a = 0;

function fn()

fn();

echo $a;//5,$a為全域性變數

3.靜態變數

區域性變數在函式退出時會被撤消,與區域性變數不同,靜態變數在函式退出時不會丟失值,並且再次呼叫函式時還能保留這個值;

在變數名前面加上 static 關鍵字就可以宣告乙個靜態變數;

不使用靜態變數時:

$a = 0;

function fn()

fn();//1

fn();//1

fn();//1

使用靜態變數時:

echo "";

$a = 0;

function fn1()

fn1();//1

fn1();//2

fn1();//3

通常將常用的函式組織到函式庫中,可以在以後類似的應用程式中重複使用。

需要呼叫時使用include()或

require()

將函式庫包含到指令碼中;

include_once()/require_once()的作用與include()/require()相同,前者會首先驗證是否已經包含了該檔案,如果已經包含,則不再執行;

require()包含檔案出錯時,指令碼將停止執行。 而使用

include()

指令碼將繼續執行。

例如新建乙個php檔案

show.php

<?php 

function show($a,$b)

?>

在另乙個php檔案中呼叫:

<?php

require 'show.php';

show(3,2);//5

?>

使用include可以將乙個頁面匯入到另乙個頁面中

例如乙個php檔案為:

<?php 

echo '頭部

';?>

在另外乙個php檔案中匯入

<?php

include "header.php"

?>

內容 底部

顯示為:

頭部

內容底部

PHP基礎筆記(03)

php筆記,主要記錄php與c c 之類的語言的一些差異,以及一些有價值的細節。這部分目前不是重點。伺服器檔案相關的操作主要用來寫配置 生成內容及生成靜態網頁 而gd用來繪圖,可以生成影象並輸出到客戶端。gd估計是graphic generation,但是有本書上寫是gif draw,待確認,現在主...

PHP學習筆記03 函式

1 public w3c dtd html 4.01 transitional en 23 1.簡單函式示例,建立乙個n m的table5 php中的函式格式,其中可以沒有返回值 6 function 引數1,引數2.10 在函式定義之前和之後都可以呼叫函式 11 12 create table 3...

PHP語言基礎03 By ACReaper

03.01邏輯運算子 and or xor這裡只強調一點用and或者or的話,記得加上括號,不然可能出錯,至於原因我也不是很清楚,反正盡量直接用 就行了,c中也是用這兩個。03.02位運算子 bitwise operators php中的位運算子也是針對整數。除非兩個運算子都為字串,不然就將其中乙個...