日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP在函数体中传递与接收参数

發布時間:2024/9/19 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP在函数体中传递与接收参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在PHP的函數中,參數傳遞可以分為值傳遞和引用傳遞(也稱為地址傳遞)兩種。

默認情況下,PHP是按值傳遞參數的。值傳遞參數調用函數時將常量或變量的值(通常稱其為實參)傳遞給函數的參數(通常稱為形參)。值傳遞的特點是實參與行參分別存儲在內存中,是兩個不相關的獨立變量。因此,在函數內部改變形參的值時,實參的值一般是不會改變的。

?引用傳遞(按地址傳遞)的特點是實參與行參共享一塊內存。因此,當形參的值改變的時候,實參的值也會相應的做出改變。從這種角度上說,可以認為形參合實參是同一個變量。

?定義引用傳遞參數時,可以在參數前面加上引用符號&。

?

<?php function printString(&$string){echo($string);$string="打印完成"; } $str="測試字符!n"; printString($str); echo($str); //程序輸出:測試字符!打印完成

php還支持可變長度的參數列表。在定義函數時,不指定參數。在調用函數時,可以根據需要指定參數的數量,通過與參數相關的幾個系統函數獲取參數信息。具體說明為:

?

<?php function mysum(){$num = func_num_args();echo("函數包含:".$num."個參數n");$sum = 0;for($i=0; $i < $num; $i++){$sum = $sum + func_get_arg($i);}echo("參數累加紙盒為:".$sum); } mysum(1,2,3,4); // 程序輸出:函數包含:4個參數 參數累加紙盒為:10

unc_num_args函數功能:返回傳遞到函數的參數數目,其語法如下 : int func_num_args (void )。說明 : 返回傳遞到目前定義函數的參數數目。如果是從函數定義的外面來呼叫此函數,則func_get_arg( )將會產生警告。

func_num_args( )可以用來結合func_get_arg( )和func_get_args( )來允許使用者定義的函式接受variable-length參數列表。其中,func_get_arg( )從參數列表返回項目,其語法:int func_get_arg (int arg_num),傳回定義函數的參數列表的第arg_num個參數,其參數從0開始。且函數定義的外面來呼叫此函數會產生警告;并且當arg_num大于函數實際傳遞的參數數目時亦會產生警告并返回FALSE。

func_get_args()函數和func_get_arg()函數的區別在于,func_get_args()函數傳回一數組,數組的各個元素相當于是目前使用者定義函式的參數列的數目。

在我們構建PHP類的時候,靈活使用這三個函數,可以起到非常理想的效果,例如外面在創建PHP和MYSQL鏈接的類時,可以書寫如下代碼:

?

<?php class mydb{private $user;private $pass;private $host;private $db;public function __construct(){$num_args=func_num_args();if($num_args>0){$args=func_get_args();$this->host=$args[0];$this->user=$args[1];$this->pass=$args[2];$this->connect();}} }

再給出一個示例程序:

?

<?php function foo(){$numargs = func_num_args();echo "Number of arguments:$numargs<br>n";if($numargs >=2 ){echo "Second argument is: " . func_get_arg (1) . "<br>n";}$arg_list = func_get_args();for ($i = 0; $i < $numargs; $i++) {echo "Argument $i is: " . $arg_list[$i] . "<br>n";} } foo(1,2,3);

?

總結

以上是生活随笔為你收集整理的PHP在函数体中传递与接收参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。