成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP學(xué)習(xí)記錄(函數(shù))

XiNGRZ / 2339人閱讀

摘要:函數(shù)變量局部變量局部動(dòng)態(tài)變量變量只在函數(shù)內(nèi)部執(zhí)行,執(zhí)行完畢則被銷毀局部靜態(tài)變量使用修飾,執(zhí)行完畢不被銷毀注函數(shù)內(nèi)部定義的變量,為局部變量,函數(shù)外部不能訪問(wèn)。局部動(dòng)態(tài)變量局部靜態(tài)變量全局變量在函數(shù)外部定義的變量,稱為全局變量。

函數(shù)

函數(shù)含義

函數(shù):是實(shí)現(xiàn)特定功能的、可以重復(fù)執(zhí)行的代碼段;

函數(shù)名:從語(yǔ)法上講,函數(shù)名中能有漢字,但在實(shí)際開(kāi)發(fā)中不建議使用!

函數(shù)結(jié)構(gòu)

function 函數(shù)名 () {
    //代碼塊
}

函數(shù)名定義規(guī)則

開(kāi)頭:[a-zA-Z_x7f-xff]

函數(shù)名:[a-zA-Z0-9_x7f-xff]

函數(shù)的首字母不能為數(shù)字、可以是漢子或者字母,函數(shù)中間可以使用數(shù)字

函數(shù)的返回值

和其他語(yǔ)言不同的是,PHP并沒(méi)有在函數(shù)聲明的時(shí)候顯示函數(shù)是否有返回值,如果函數(shù)內(nèi)部使用了return即表示有返回值,反之則表示沒(méi)有返回值,返回類型可以為對(duì)象、數(shù)組、字符串等。

函數(shù)變量

//局部變量
//局部動(dòng)態(tài)變量:變量只在函數(shù)內(nèi)部執(zhí)行,執(zhí)行完畢則被銷毀;
//局部靜態(tài)變量:使用static修飾,執(zhí)行完畢不被銷毀;
//注:函數(shù)內(nèi)部定義的變量,為局部變量,函數(shù)外部不能訪問(wèn)。
function func()
{
    $a = 3;  //局部動(dòng)態(tài)變量
    static $b = 34;  //局部靜態(tài)變量
}

//全局變量
//在函數(shù)外部定義的變量,稱為全局變量。在函數(shù)內(nèi)部使用全局變量的時(shí)候,不能和其他語(yǔ)言一樣直接使用,有兩種使用方法:
//(1)用global關(guān)鍵字進(jìn)行聲明后使用
$a = 3;
function func()
{
    global $a;
    echo $a;
}

//(2)使用超全局變量數(shù)組$GLOBALS直接訪問(wèn)
$a = 3;
function func()
{
    echo $GLOBALS["a"];
}

函數(shù)的參數(shù)

值傳遞和引用傳遞

//值傳遞:當(dāng)一個(gè)變量的值賦予給另外一個(gè)變量的時(shí)候,改變其中一個(gè)變量的值,將不會(huì)影響到另外一個(gè)變量的值

//引用傳遞:新變量指向了原始變量,改動(dòng)新的變量將影響到原始變量,反之亦然。(只有有名字的變量才能引用傳遞,比如表達(dá)式就不可以)
//注:在函數(shù)中傳遞參數(shù)的類型為對(duì)象時(shí),即使不加&,也是引用傳遞,因?yàn)閷?duì)象名對(duì)應(yīng)的是該對(duì)象的引用地址。

$a = 4;
function func1($c)  //值傳遞
{
    $c = 7;
}
func1($a);
echo $a, "
";  //4,函數(shù)沒(méi)有改變$a的值

function func2(&$d)  //引用傳遞
{
    $d = 7;
}
func2($a);
echo $a, "
";  //7,函數(shù)改變了$a的值

參數(shù)默認(rèn)值

//如果$a和$b沒(méi)有默認(rèn)值,調(diào)用該函數(shù)的時(shí)候必須傳值,否則會(huì)報(bào)錯(cuò),如果有默認(rèn)值,可以不傳參數(shù)
function func($a = 3, $b = 5)
{
    echo "a的值為{$a}, b的值為{$b}
";
}
func();

可變參數(shù)列表

/*
 *在函數(shù)定義時(shí),形參可以省略不寫(xiě),在函數(shù)內(nèi)部可以通過(guò)系統(tǒng)方法獲取傳遞進(jìn)行的參數(shù)數(shù)組。
 *func_num_args():傳入函數(shù)實(shí)參的個(gè)數(shù)
 *func_get_args():傳入函數(shù)實(shí)參列表(數(shù)組形式)
 *func_get_arg(index):傳人函數(shù)具體位置的實(shí)參
 */

function fun6()
{
    echo func_num_args(), "
";  //3
    print_r(func_get_args());  //數(shù)組
    echo func_get_arg(0);  //10
}
fun6(10, 11, 12);

傳參類型限定

//函數(shù)定義時(shí),可以給參數(shù)限定類型,共三種類型:array,object,callback
function func(array $a)  //實(shí)參必須為數(shù)組類型
{
    print_r($a);
}
//func(1);  //會(huì)報(bào)錯(cuò)
func([1, 2, 3]);

復(fù)雜函數(shù)

可變函數(shù)

//將函數(shù)的名字賦值給變量,通過(guò)變量去調(diào)用函數(shù),讓函數(shù)的調(diào)用更具多樣性
/*
 * is_callable(函數(shù)):判斷函數(shù)能否被調(diào)用
 * function_exists(函數(shù)):判斷函數(shù)是否存在
 */
function func()
{
    echo "hello, world", "
";
}

$fun = "func";

if (is_callable($fun)){  //判斷是否能調(diào)用
    echo "能調(diào)用", "
";
    $fun();
}

if (function_exists($fun)){
    echo "能調(diào)用", "
";
    $fun();
}

函數(shù)的嵌套

/*                                                 
* php所有定義的函數(shù),作用域都是全局的                             
*                                                 
* 和其他語(yǔ)言比如java相比,php不存在內(nèi)置函數(shù),意思就是說(shuō)bar()不是foo()的內(nèi)置函數(shù), 
* 兩者沒(méi)有區(qū)別,作用域都是全局的,在bar()函數(shù)內(nèi)不能調(diào)用foo()中聲明的變量,但是bar()
* 函數(shù)必須在foo()調(diào)用之后才會(huì)被定義,才能被調(diào)用                       
*                                                 
*/                                                
function foo()                                     
{                                                  
$a = "hello, world";                           
function bar()                                 
{                                              
    /* 不能調(diào)用變量$a */                             
    echo "bar()函數(shù)被調(diào)用";                         
}                                              

/* 內(nèi)部可以調(diào)用bar(),因?yàn)槠湟呀?jīng)被定義 */                                                  
//bar();                                         
}                                                  
                                                   
/* 現(xiàn)在不能調(diào)用bar(),因?yàn)槠溥€沒(méi)有被定義 */                        
                                                   
foo();                                             
                                                   
/* 現(xiàn)在可以調(diào)用bar(),因?yàn)閒oo()調(diào)用之后,bar()已經(jīng)被定義 */           
                                                   
bar();                                             

遞歸調(diào)用:函數(shù)調(diào)用自己本身,遞歸里面需要有跳出遞歸的判斷條件

匿名函數(shù)

/*                                  
 * 匿名函數(shù)                             
 * 函數(shù)沒(méi)有指定名稱,稱為匿名函數(shù)                  
 * 通過(guò)將函數(shù)賦給變量,通過(guò)變量來(lái)實(shí)現(xiàn)調(diào)用函數(shù)                                            
 */                                 
$say = function($str) {             
    echo "hello, world";            
};                                  
$say("aaa");                        


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28737.html

相關(guān)文章

  • PHP學(xué)習(xí)記錄(基礎(chǔ))

    摘要:最后改為超文本預(yù)處理器,于年誕生。注釋單行注釋多行注釋你好單行注釋你也好單行注釋多行注釋大家都好變量由一個(gè)美元符號(hào)后面跟變量名來(lái)表示變量名區(qū)分大小寫(xiě)??勺冏兞靠勺冏兞恳粋€(gè)變量的變量名可以動(dòng)態(tài)設(shè)置和使用。 PHP簡(jiǎn)介 最初用于維護(hù)個(gè)人主頁(yè),簡(jiǎn)寫(xiě)為:Personal HomePage。最后改為:Hypertext Preprocessor(超文本預(yù)處理器),于1994年誕生。 優(yōu)勢(shì) 性...

    crossoverJie 評(píng)論0 收藏0
  • PHP學(xué)習(xí)記錄(日期函數(shù)

    摘要:時(shí)間戳不僅被使用在系統(tǒng),類系統(tǒng)中,也在許多其他操作系統(tǒng)中被廣泛應(yīng)用。 日期時(shí)間函數(shù) 格式化日期 /* * date函數(shù) * string date(string format[, int timestamp]) * 描述:格式化一個(gè)本地時(shí)間/日期 * * format格式: * Y:4位數(shù)字完整表示的年份 * y:2位數(shù)字表示的年份 * F:月份,完整的文本格式 * ...

    linkFly 評(píng)論0 收藏0
  • PHP學(xué)習(xí)記錄(文件函數(shù)庫(kù))

    摘要:文件函數(shù)庫(kù)文件目錄函數(shù)庫(kù)為核心函數(shù)庫(kù),可以通過(guò)其提供的完成對(duì)于文件及目錄的常用操作。 文件函數(shù)庫(kù) 文件、目錄函數(shù)庫(kù)為PHP核心函數(shù)庫(kù),可以通過(guò)其提供的API完成對(duì)于文件及目錄的常用操作。 文件信息相關(guān)的API /* * 文件信息相關(guān)API * filetype(), filesize(), filectime(),filemtime(), fileatime() */ $dir...

    chavesgu 評(píng)論0 收藏0
  • PHP學(xué)習(xí)記錄(數(shù)學(xué)函數(shù)庫(kù))

    摘要:數(shù)學(xué)函數(shù)庫(kù)進(jìn)一舍一取整,四舍五入函數(shù)描述將實(shí)現(xiàn)舍一取整函數(shù)描述將實(shí)現(xiàn)進(jìn)一取整函數(shù)描述實(shí)現(xiàn)四舍五入的功能,表示保留幾位小數(shù)冪運(yùn)算和平方根函數(shù)描述冪指數(shù)運(yùn)算函數(shù)描述平方根最大值和最小值函數(shù)描述返回最大值函數(shù)描述返回最小值最大值最小值隨機(jī)數(shù)函數(shù)描 數(shù)學(xué)函數(shù)庫(kù) 進(jìn)一、舍一取整,四舍五入 /* * floor函數(shù) * float floor(float $value) * 描述:將實(shí)現(xiàn)舍一...

    _DangJin 評(píng)論0 收藏0
  • PHP學(xué)習(xí)記錄(字符串函數(shù)

    摘要:字符串常用函數(shù)獲取字符串長(zhǎng)度函數(shù)函數(shù)獲取字符串或數(shù)字的長(zhǎng)度王昭格式下,每個(gè)漢字個(gè)字節(jié)長(zhǎng)大小寫(xiě)轉(zhuǎn)換函數(shù)字符串所有的字母轉(zhuǎn)換為小寫(xiě)字符串所有的字母轉(zhuǎn)換為大寫(xiě)將字符串的首字母大寫(xiě),其他字母不變將字符串中每個(gè)單詞的首字母大寫(xiě),其他字母不變字符串替換 字符串常用函數(shù) 獲取字符串長(zhǎng)度函數(shù) /* * strlen函數(shù) * int strlen($var) * 獲取字符串或數(shù)字的長(zhǎng)度 */ $a = ...

    張金寶 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<