国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php函數之引用參數函數

2020-03-22 18:42:12
字體:
來源:轉載
供稿:網友
引用參數的函數介紹

在 php 中默認是按照值傳遞參數的,而且 函數的參數也屬于局部變量,所以即使在函數內部改變參數的值,它并不會改變函數的外部的值。上一節介紹了php中常規參數函數和偽類型參數函數。這一節來談談怎么引用參數,當函數為子程序時,調用函數的程序可以稱為父程序。父程序直接傳遞指定的值或變量給函數使用。由于所傳遞額值或者變量與函數里的數值分別存儲于不同的內存區塊,所以如果函數對所導入的數值做了任何變動,并不會對父程序直接造成影響。

php引用參數的函數格式說明如下所示:

void funName(array &arg)                     // 在參數列表中出現使用 &描述的參數

下面通過一個實例來對php引用參數進行說明:

<?php //聲明一個函數作為測試 function test($a){   $a = 200;     // 函數中改變參數值為200 } $b = 100;       // 父程序中聲明一個html' target='_blank'>全局變量$b并給一個初始值100 test($b);       // 調用test函數 將100傳給函數的參數 echo $b;        // 輸出100 $b的值沒變化?>

在上面的實例中,調用 test()函數時,將全局變量$b 的值傳給 函數 test()。雖然在 test()函數中對變量 $a 指定了新的值200,但是并不能改變函數外變量 $b 的值。 調用 test()函數結束以后,變量 $b輸出的值仍為100。如果希望允許函數修改它的參數值,則必須通過引用傳遞參數。

相對于按值傳遞模式,并不會將父程序中的指定數值或者目標變量傳遞給函數,而是把該數值或者變量的內存存儲區塊相對地址導入函數之中。因此,當該數值在函數中有任何的變動時,會連帶對父程序造成影響。如果想要函數的一個參數總是通過引用傳遞,則在函數定義中,在參數的前面預先加上符號 & 即可。

把前面的實例修改一下:

<?php //聲明一個函數作為測試 function test(&$a){   $a = 200;     // 函數中改變參數值為200,加使用 & 引用參數$a,外部變量被修改 } $b = 100;       // 父程序中聲明一個全局變量$b并給一個初始值100 test($b);       // 調用test函數 將變量$b的引用傳給函數的參數$a echo $b;        // 輸出200 $b的值在函數中修改變量$a時被修改?>

在上面的實例中,調用 test()函數時,不是將全局變量$b 的值傳給 函數 test()。可以看到,在test()函數的定義中,使用了引用符號 & 指定變量$a 為按引用傳遞方式。在函數體中對變量$a 指定了新的值200,由于按引用方式會修改外部數據,所以外部變量$b 的值也一起被修改。函數調用結束以后,可以看到變量$b 的輸出值為200。

注意:如果在函數的形參中有使用 & 修飾參數。則在調用該函數時就必須傳入一個變量給這個參數,而不能傳遞一個值。

【相關教程推薦】

1. 《VeVb.com獨孤九賤(4)-php視頻教程》

2. php編程從入門到精通全套視頻教程

3. php實戰視頻教程

以上就是php函數之引用參數函數的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南江县| 桦川县| 玉田县| 军事| 宁阳县| 汶上县| 长宁县| 神农架林区| 宁蒗| 宿州市| 白水县| 富宁县| 双城市| 五台县| 永春县| 廊坊市| 东阿县| 阜阳市| 大港区| 南汇区| 榆树市| 三江| 贵州省| 翁牛特旗| 潞西市| 永泰县| 阿尔山市| 时尚| 盐城市| 上犹县| 资阳市| 靖边县| 彰化市| 山丹县| 安塞县| 仪征市| 徐闻县| 阜城县| 准格尔旗| 乐安县| 弥勒县|