php函数的参数传递三种方式

PHP函数的参数传递方式可以分为三种:按值传递、按引用传递和按默认值传递。而获取当前函数名可以使用`__FUNCTION__`或者`debug_backtrace()`函数。

1. 按值传递:

按值传递是指将参数的值复制一份给函数的形参,函数内部操作的是形参的值,不会影响到原始参数的值。这是PHP函数默认的参数传递方式。

```php

function add($a, $b) {

$a = $a + $b;

return $a;

}

$x = 1;

$y = 2;

$result = add($x, $y);

echo $result; // 输出3

echo $x; // 输出1,原始参数的值没有被改变

```

2. 按引用传递:

按引用传递是指将参数的引用传递给函数的形参,形参和原始参数指向同一个内存地址,所以函数内部对形参的修改会影响到原始参数的值。

```php

function add(&$a, $b) {

$a = $a + $b;

return $a;

}

$x = 1;

$y = 2;

$result = add($x, $y);

echo $result; // 输出3

echo $x; // 输出3,原始参数的值被改变

```

3. 按默认值传递:

按默认值传递是指在函数定义时给形参设定一个默认值,如果在调用函数时没有传递该参数,函数会使用默认值。

```php

function sayHello($name = "Guest") {

echo "Hello, " . $name;

}

sayHello(); // 输出Hello, Guest

sayHello("John"); // 输出Hello, John

```

获取当前函数名可以使用`__FUNCTION__`或者`debug_backtrace()`函数。

- 使用`__FUNCTION__`:

`__FUNCTION__`是一个魔术常量,它代表当前的函数名。可以在函数内部直接使用。

```php

function getCurrentFunctionName() {

echo "当前函数名为:" . __FUNCTION__;

}

getCurrentFunctionName(); // 输出当前函数名为:getCurrentFunctionName

```

- 使用`debug_backtrace()`:

`debug_backtrace()`函数用于获取函数的调用栈信息,包括函数名、文件名、行号等等。可以通过它获取当前函数的名称。

```php

function getCurrentFunctionName() {

$trace = debug_backtrace();

echo "当前函数名为:" . $trace[0]['function'];

}

getCurrentFunctionName(); // 输出当前函数名为:getCurrentFunctionName

```

这样,我们就介绍了PHP函数的参数传递方式和获取当前函数名的方法。对于函数的参数传递,按值传递适用于参数不会被修改的情况;按引用传递则适用于需要修改原始参数的情况;按默认值传递则适用于参数不一定会被传递的情况。而获取当前函数名可以使用`__FUNCTION__`或者`debug_backtrace()`方法,根据实际情况选择适合的方法来获取函数名。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(57) 打赏

评论列表 共有 1 条评论

孟婆卖萌不卖汤 1年前 回复TA

人一辈子都在追寻,一辈子都在选择,等到发现已经快走到人生尽头,才像掰玉米的猴子,随便对付一个了事。所以把一件事情做透,是人生成功的关键,不要以为机会遍地都是,人一辈子大量的活动其实都只是铺垫。

立即
投稿
发表
评论
返回
顶部