php學(xué)習(xí)之function的用法
更新時間:2012年07月14日 10:26:39 作者:
用戶自定義函數(shù)也稱自定義函數(shù),它們不是PHP提供的,是由程序員創(chuàng)建的.由于自己創(chuàng)建了這樣的函數(shù),所以就可以完全控制這些函數(shù).因此可以讓一個函數(shù)完全按照自己希望的方式運(yùn)行
1,申明函數(shù)
在PHP中,定義函數(shù)的方法同其他編程語言幾乎一樣.下面是PHP申明函數(shù)的語法結(jié)構(gòu):
Function function_name($argument1,$argument2,$argument3,......$argumentn)
{
//函數(shù)代碼code
Return 返回值;
}
以上語法結(jié)構(gòu)中,關(guān)鍵字的含義如下.
(1)function:用于申明用戶自定義函數(shù)的關(guān)鍵字.
(2)function_name:要創(chuàng)建的函數(shù)名稱.該名稱將在以后被調(diào)用時使用.函數(shù)名應(yīng)該唯一,因?yàn)镻HP不支持重載.在命名函數(shù)的時候,需要遵循和變量命名
相同的原則.但是函數(shù)名不能以$開頭,而變量可以.
(3)argument:要傳遞給函數(shù)的值.函數(shù)可以有多個參數(shù),它們之間用逗號.但是參數(shù)項(xiàng)是可選的,可以在調(diào)用函數(shù)的時候不傳遞任何參數(shù).
(4)code:是在函數(shù)被調(diào)用的時候執(zhí)行的一段代碼.如果有兩條或者多條語句,則代碼必須用大括號"{}"括起來.但是,如果只有一條代碼,則不需要大括號.
(5)Return:將調(diào)用的代碼需要的值返回.任何類型都可以返回,包括列表和對象.這導(dǎo)致函數(shù)立即結(jié)束它的運(yùn)行,并且將控制權(quán)傳遞回它被調(diào)用的行.
2,無參數(shù)函數(shù)
代碼func_1.php
<?php
require 'a.php';
echo "我不會被執(zhí)行!";
?>
3,有參數(shù)函數(shù)
PHP支持按值傳遞參數(shù)(默認(rèn)),通過引用傳遞和默認(rèn)參數(shù)值.可變長度參數(shù)列表僅在PHP4和后繼版本中被支持.
(1)值傳遞參數(shù).按值進(jìn)行參數(shù)傳遞是PHP的默認(rèn)傳遞方式.使用這個方法,必須在主程序調(diào)用時傳遞一個值(參數(shù)).
代碼sum.php
<?php
function sum ($a,$b)
{
Echo $a+$b;
}
sum(100,20); //開始調(diào)用該函數(shù)
?>
(2)引用參數(shù).在按照值傳遞的時候,只有參數(shù)的副本傳遞給被調(diào)用的函數(shù).但是在被調(diào)用函數(shù)內(nèi)部對這些值的任何修改,都不會影響調(diào)用函數(shù)
中的原始值.引用傳遞其實(shí)也就是地址傳遞,將一個變量的地址作為參數(shù)傳遞.
代碼valuechange.php
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
(3)默認(rèn)值參數(shù).使用默認(rèn)的參數(shù)值傳遞方法,函數(shù)必須在調(diào)用的時候有一個參數(shù).如果沒有使用的值,就把默認(rèn)值傳遞給函數(shù)參數(shù).默認(rèn)值必須是常量表達(dá)式,不是變量,
類成員或者函數(shù)調(diào)用.
提示:當(dāng)使用默認(rèn)參數(shù)時,任何默認(rèn)參數(shù)必須放在非默認(rèn)參數(shù)的右側(cè);否則,可能函數(shù)不會按照預(yù)期的情況工作.
代碼func_default.php
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
在PHP中,定義函數(shù)的方法同其他編程語言幾乎一樣.下面是PHP申明函數(shù)的語法結(jié)構(gòu):
復(fù)制代碼 代碼如下:
Function function_name($argument1,$argument2,$argument3,......$argumentn)
{
//函數(shù)代碼code
Return 返回值;
}
以上語法結(jié)構(gòu)中,關(guān)鍵字的含義如下.
(1)function:用于申明用戶自定義函數(shù)的關(guān)鍵字.
(2)function_name:要創(chuàng)建的函數(shù)名稱.該名稱將在以后被調(diào)用時使用.函數(shù)名應(yīng)該唯一,因?yàn)镻HP不支持重載.在命名函數(shù)的時候,需要遵循和變量命名
相同的原則.但是函數(shù)名不能以$開頭,而變量可以.
(3)argument:要傳遞給函數(shù)的值.函數(shù)可以有多個參數(shù),它們之間用逗號.但是參數(shù)項(xiàng)是可選的,可以在調(diào)用函數(shù)的時候不傳遞任何參數(shù).
(4)code:是在函數(shù)被調(diào)用的時候執(zhí)行的一段代碼.如果有兩條或者多條語句,則代碼必須用大括號"{}"括起來.但是,如果只有一條代碼,則不需要大括號.
(5)Return:將調(diào)用的代碼需要的值返回.任何類型都可以返回,包括列表和對象.這導(dǎo)致函數(shù)立即結(jié)束它的運(yùn)行,并且將控制權(quán)傳遞回它被調(diào)用的行.
2,無參數(shù)函數(shù)
代碼func_1.php
復(fù)制代碼 代碼如下:
<?php
require 'a.php';
echo "我不會被執(zhí)行!";
?>
3,有參數(shù)函數(shù)
PHP支持按值傳遞參數(shù)(默認(rèn)),通過引用傳遞和默認(rèn)參數(shù)值.可變長度參數(shù)列表僅在PHP4和后繼版本中被支持.
(1)值傳遞參數(shù).按值進(jìn)行參數(shù)傳遞是PHP的默認(rèn)傳遞方式.使用這個方法,必須在主程序調(diào)用時傳遞一個值(參數(shù)).
代碼sum.php
復(fù)制代碼 代碼如下:
<?php
function sum ($a,$b)
{
Echo $a+$b;
}
sum(100,20); //開始調(diào)用該函數(shù)
?>
(2)引用參數(shù).在按照值傳遞的時候,只有參數(shù)的副本傳遞給被調(diào)用的函數(shù).但是在被調(diào)用函數(shù)內(nèi)部對這些值的任何修改,都不會影響調(diào)用函數(shù)
中的原始值.引用傳遞其實(shí)也就是地址傳遞,將一個變量的地址作為參數(shù)傳遞.
代碼valuechange.php
復(fù)制代碼 代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
(3)默認(rèn)值參數(shù).使用默認(rèn)的參數(shù)值傳遞方法,函數(shù)必須在調(diào)用的時候有一個參數(shù).如果沒有使用的值,就把默認(rèn)值傳遞給函數(shù)參數(shù).默認(rèn)值必須是常量表達(dá)式,不是變量,
類成員或者函數(shù)調(diào)用.
提示:當(dāng)使用默認(rèn)參數(shù)時,任何默認(rèn)參數(shù)必須放在非默認(rèn)參數(shù)的右側(cè);否則,可能函數(shù)不會按照預(yù)期的情況工作.
代碼func_default.php
復(fù)制代碼 代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
相關(guān)文章
PHP實(shí)現(xiàn)搜索時記住狀態(tài)的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)搜索時記住狀態(tài)的方法,結(jié)合實(shí)例形式分析了php通過get參數(shù)傳遞及DOM元素形式記錄搜索狀態(tài)的相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2018-05-05PHP設(shè)計(jì)模式之裝飾器模式定義與用法簡單示例
這篇文章主要介紹了PHP設(shè)計(jì)模式之裝飾器模式定義與用法,結(jié)合簡單實(shí)例形式分析了php裝飾器模式的概念、原理、定義與簡單使用方法,需要的朋友可以參考下2018-08-08PHP直接修改表內(nèi)容DataGrid功能實(shí)現(xiàn)代碼
最近想做一個通過PHP實(shí)現(xiàn)DataGrid功能的東西,這樣可以直接修改數(shù)據(jù)庫中表的內(nèi)容,而不用開發(fā)【新增數(shù)據(jù)頁面】和【編輯頁面】,本篇首先介紹基于MySQL的使用方法,再簡單介紹對于Oracle連接(基于sqlrelay)的二次開發(fā)。2015-09-09PHP實(shí)現(xiàn)基數(shù)排序的方法詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)基數(shù)排序的方法,結(jié)合實(shí)例形式分析了基數(shù)排序的原理、實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下2017-12-12