首頁 >後端開發 >php教程 >php的函數

php的函數

不言
不言原創
2018-04-23 10:42:251499瀏覽

這篇文章介紹的內容是關於php中的函數,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

函數
什麼是函數
完成指定任務並且已經命名的程式碼區塊,可以用來重複使用。
函數的作用
容易維護
#程式碼不冗餘,能夠提高程式碼的重用性
函數的種類
系統函數
自訂函數
#書寫自訂函數的步驟
#1、將你要寫的程式碼寫出來
2、將程式碼用大括號包起來
3、使用關鍵字function 函數的名字()來宣告函數##​​
#4、將需要或經常變成值提取出來作為參數使用
#注意
1、函數的名字一定要有意義
2、函數名字不能用純數字,開頭不能用數字
3、函數的名字不區分大小寫
#4、函數的名字不能重複,不能和自訂的重複也不能和系統函數的名字重複
#函數的呼叫
注意







##1、函數不呼叫不執行
2、函數的呼叫可以放在函數宣告的前面,也可以放在函數宣告的後面。因為程式碼放在記憶體的程式碼區段中,在程式執行以前這些程式碼就已經被放到記憶體裡面去了
#自訂函數的參數##自定義函數的設計原則,使用者可以參與控制自訂函數,可以對自訂函數進行一些微調
#實參
實際的參數,在呼叫的時候在()裡面寫的參數
形參
形式上的參數,宣告參數時,提供的參數
##預設參數
如果在使用函數時,沒有填入指定數量的實參會報錯,但是我們可以在宣告形參的同時給形參預設值
注意
1、當形參中有預設值,而且實參中也有值時,實參中的值將會覆寫形參的值
2、可以給定部分參數,部分參數有預設值,但是需要盡量放在後面,因為參數傳值是一一對應的
3、函數中不給參數預設值的叫必選參數
4、函數中預設值的參數叫做可選參數
變長參數清單
func_get_args()  取得函數中所有實際參數的集合
func_num_args()  取得函數中實際參數的數量
func_get_arg(第幾個參數) 獲得第幾個參數的值
注意
1、第幾個參數是從0開始的不是從1開始的
2、函數中實參比形參個數多不會出錯,但是預設會忽略。我們可以使用系統函數來獲得相關資訊
引用參數
應用程式場景
通常用在要修改參數值本身的情況下
注意
1、使用引用參數時,&要放在形參上
2、如果是引用參數,傳參時必須使用變數不能使用值,因為只有變數才有位址
###自訂函數中的回傳值return#########我們有時候需要對函數的結果進行再次處理,為了解決這個問題我們需要使用return#########格式##########return  你想要傳回的值#########注意### ######1、return的回傳值,函數在哪裡呼叫就回傳到哪裡###2、return回傳的值回傳以後,return後面的程式碼不執行
#3、一般情況下我們再寫函數的時候都不會多次使用echo,而是將值回傳
變數依照作用域分類
1、局部變數
注意

1.函數宣告的變數只能在函數內調用,這就是局部變數
2、函數的形參,實際上就是一個局部變量,呼叫時候將實際參數傳遞到函數內部
2、全域變數
在函數外部宣告的變數我們叫全域變量,可以在函數中使用(有條件,你需要加上global關鍵字)
global 變數名  可以將外部的變數在函數內部使用
global的連寫方式
global  變數名稱1,變數名稱2 ,.......
3、超全域變數
$GLOBALS 引用全域作用域中的全部變量,該變數是自動建立的,他包含了所有的全域變量,需要使用$GLOBALS['變數名稱']的方式來使用
$GLOBALS和global的區別
##1、在函數外部宣告的變數我們叫全域變量,可以在函數中使用(有條件,你需要加上global關鍵字)
2、$GLOBALS[]呼叫的是外部變量,函數內外都會保持一致。
靜態變數
格式
#static 變數名稱
注意




########################################################################################################### ##1、靜態局部變數只會初始化一次#########2、靜態屬性只能初始化為一個字元值或一個常數也可以為表達式#########3 、不會隨著函數的呼叫和退出而改變#########變數函數##########將變數的值(字串)當作函數的名字加上括號來執行的函數######
<?php
    function say(){
        echo &#39;这个是say&#39;;
    }
    $var = &#39;say&#39;;
    $var();
?>

回呼函數
回呼函數其實就是將函數名稱以字串的形式傳遞然後使用變數函數的方式來執行的
遞迴函數
遞迴函數:自己呼叫自己
注意
1、你自己就是這個函數,就是你自己呼叫自己,當自己做完一件事情后,你會做上次你沒做完的事情
2、遞歸函數一定要有一個終止條件,否則將進行死循環
檔案載入
include
格式
include('要包含的檔案路徑')
注意:
系統裡面有些函數非函數,它是系統指令你還可以寫成include “”
include_once
#只包含一次該文件,他會檢查是否已經包含了,如果包含了他就不再次包含,如果沒有包含他才會包含
require
require('要包含的檔案路徑')
require_once
也是檢查是否包含,如果包含了就不再包含
注意
說明:   include和require他兩個的功能差不多,但不是別名的關係
##include和require的差別
require:如果包含錯誤的話,將會產生一個致命的錯誤
include:如果包含錯誤的話將會產生一個警告,下面的程式碼還會繼續執行
特別注意
如果,你缺少了你要包含的檔案程式執行不下去的時候使用require,反之使用include什麼是函數

完成指定任務並且已經命名的程式碼區塊,可以用來重複使用。 函數的作用

容易維護
程式碼不冗餘,能夠提高程式碼的重用性函數的種類

#系統函數
自訂函數
書寫自訂函數的步驟
1、寫你要寫的程式碼
2、將程式碼用大括號包起來
3、使用關鍵字function 函數的名字()來宣告函數##​​
# 4、將需要或經常變成值提取出來作為參數使用
注意
1、函數的名字一定要有意義

#2、函數名字不能用純數字,開頭不能用數字
3、函數的名字不區分大小寫
4、函數的名字不能重複,不能和自訂的重複也不能和系統函數的名字重複
函數的呼叫
#注意
1、函數不呼叫不執行
2、函數的呼叫可以放在函數宣告的前面,也可以放在函數宣告的後面。因為程式碼放在記憶體的程式碼區段中,在程式執行以前這些程式碼就已經被放到記憶體裡面去了
#自訂函數的參數##自定義函數的設計原則,使用者可以參與控制自訂函數,可以對自訂函數進行一些微調
#實參
實際的參數,在呼叫的時候在()裡面寫的參數
形參
形式上的參數,宣告參數時,提供的參數
##預設參數
如果在使用函數時,沒有填入指定數量的實參會報錯,但是我們可以在宣告形參的同時給形參預設值
注意1、當形參中有預設值,而且實參中也有值時,實參中的值將會覆寫形參的值
2、可以給定部分參數,部分參數有預設值,但是需要盡量放在後面,因為參數傳值是一一對應的
#3、函數中不給參數預設值的叫必選參數
4、函數中預設值的參數叫做可選參數
變長參數清單
func_get_args()  取得函數中所有實際參數的集合
func_num_args()  取得函數中實際參數的數量
func_get_arg(第幾個參數) 得到第幾個參數的值
注意
1、第幾個參數是從0開始的不是從1開始的
2、函數中實參比形參個數多不會出錯,但是預設會忽略。我們可以使用系統函數來獲得相關資訊
引用參數
應用程式場景
通常用在要修改參數值本身的情況下
注意
1、使用引用參數時,&要放在形參上
2、如果是引用參數,傳參時必須使用變數不能使用值,因為只有變數才有位址
自訂函數中的回傳值return
我們有時候需要對函數的結果進行再次處理,為了解決這個問題我們需要使用return
格式
#return  你想要傳回的值
注意
1、return的回傳值,函數在哪裡呼叫就回傳到哪裡
#2、return回傳的值回傳以後,return後面的程式碼不執行
3、一般情況下我們再寫函數的時候都不會多次使用echo,而是將值回傳
變數依照作用域分類
1、局部變數
注意
1、函數宣告的變數只能在函數內調用,這就是局部變數
2、函數的形參,其實就是一個局部變量,呼叫時候將實際參數傳遞到函數內部
#2、全域變數
在函數外部宣告的變數我們叫全域變量,可以在函數中使用(有條件,你需要加上global關鍵字)
global 變數名  可以將外部的變數在函數內部使用
#global的連寫方式
global  變數名稱1,變數名稱2,.......
3、超全域變數
$GLOBALS 引用全域作用域中的全部變量,該變數是自動建立的,他包含了所有的全域變量,需要使用$GLOBALS['變數名稱']的方式來使用
$GLOBALS和global的區別
1、在函數外部聲明的變數我們叫全域變量,可以在函數中使用(有條件,你需要加上global關鍵字)
2、$GLOBALS[]呼叫的是外部變量,函數內外會保持一致。
靜態變數
格式
#static 變數名稱
注意





############################################################################################### ##1、靜態局部變數只會初始化一次#########2、靜態屬性只能初始化為一個字元值或一個常數也可以為表達式#########3 、不會隨著函數的呼叫和退出而改變#########變數函數##########將變數的值(字串)當作函數的名字加上括號來執行的函數#############
<?php
                                        function say(){
                                        echo &#39;这个是say&#39;;
                                    }
                                            $var = &#39;say&#39;;
                                            $var();
                                    ?>

回调函数
回调函数实际上就是将函数名以字符串的形式传递然后使用变量函数的方式来运行的
递归函数
递归函数:自己调用自己
注意
1、你自己就是这个函数,是你自己调用自己,当自己做完一件事情后,你会做上次你没做完的事情
2、递归函数一定要有一个终止条件,否则将进行死循环
文件加载
include
格式
include('要包含的文件路径')
注意:
系统里面有些函数非函数,它是系统命令你还可以写成 include “”
include_once
只包含一次该文件,他会检查是否已经包含了,如果包含了他就不再次包含,如果没有包含他才会包含
require
require('要包含的文件路径')
require_once
也是检查是否包含,如果包含了就不再包含
注意
说明:   include和require他俩的功能差不多,但不是别名的关系
include和require的区别
require:如果包含错误的话,将会产生一个致命的错误
include:如果包含错误的话将会产生一个警告,下面的代码还会继续执行
特别注意
如果,你缺少了你要包含的文件程序运行不下去的时候使用require,反之使用include

相关推荐:

探究PHP的函数运行机制_PHP教程

以上是php的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php的控制流程下一篇:php的控制流程