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ù)名不能以$開(kāi)頭,而變量可以.
(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)),通過(guò)引用傳遞和默認(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); //開(kāi)始調(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ù).如果沒(méi)有使用的值,就把默認(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ù)名不能以$開(kāi)頭,而變量可以.
(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)),通過(guò)引用傳遞和默認(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); //開(kāi)始調(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ù).如果沒(méi)有使用的值,就把默認(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ù)值計(jì)算num類簡(jiǎn)單操作示例
這篇文章主要介紹了php數(shù)值計(jì)算num類簡(jiǎn)單操作,結(jié)合實(shí)例形式分析了PHP數(shù)值計(jì)算相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下2020-05-05
解決文件名解壓后亂碼的問(wèn)題 將文件名進(jìn)行轉(zhuǎn)碼的代碼
中文win32下,文件名使用GBK編碼 Linux下,文件名使用UTF-8編碼 解決文件名解壓后亂碼的問(wèn)題,使用將文件名進(jìn)行轉(zhuǎn)碼2012-01-01
解析使用ThinkPHP應(yīng)該掌握的調(diào)試手段
本篇文章是對(duì)使用ThinkPHP應(yīng)該掌握的調(diào)試手段進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php無(wú)限級(jí)分類實(shí)現(xiàn)方法分析
這篇文章主要介紹了php無(wú)限級(jí)分類實(shí)現(xiàn)方法,結(jié)合2個(gè)簡(jiǎn)單實(shí)例形式分析了php通過(guò)遞歸與普通算法實(shí)現(xiàn)無(wú)限級(jí)分類的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10

