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