今天分享的是php8函数的引用和取消,不过在PHP官方的参考手册中,已经删除了此类教程。
1、函数的引用
在PHP8中不管是自定义函数还是内置函数,都可以直接简单的通过函数名调佣。函数的引用大致有下面3种:
1.1、如果是PHP的内置函数,就直接调用,如phpinfo()。
1.2、如果是PHP某一个库文件的函数,则使用include()或require()命令把此库文件加载,然后才能使用。
1.3、如果是自定义函数,若与引用程序在同一文件中,则可以直接引用,若此函数不在当前文件内。则需要用include()或require()命令加载。
对函数的引用,实质上是对函数返回值的引用。
与参数传递不同,使用函数引用时,定义函数和引用函数都必须使用“&”符号。表明返回的是一个引用。
引用函数,示范代码:
<?php
function increment(&$number) {$number++;
}$value = 5;
increment($value);
echo $value; // 输出结果?>
以上代码在PHP8中运行的结果为:
6
在上面的示例中,我们定义了一个名为increment的函数,它接受一个引用参数$number。在函数内部,我们将$number增加1。然后,在主程序中,我们创建了一个变量$value并将其赋值为5,然后将$value作为参数传递给increment函数。由于$number是一个引用参数,所以在函数内部对它进行的自增操作也会改变$value的值。因此,最终输出的结果是6。
请注意,引用参数只能传递给其他支持引用的函数,并且不能直接用于调用普通的非引用函数。
2、取消函数引用
在PHP中,要取消函数引用,可以使用unset()函数。unset()函数可以用于取消变量的引用,包括函数引用。
以下是一个示例:
<?php
function foo(&$var) {$var = 'Hello';
}$myVar = '';
foo($myVar);
echo $myVar; // 输出:Hellounset($myVar);
echo $myVar; // 输出:警告内容
?>
在上面的示例中,foo()函数接受一个引用参数$var,并将其值设置为'Hello'。然后,通过调用unset($myVar)来取消对$myVar的引用。在取消引用后,再次访问$myVar将导致一个未定义变量的错误。
PHP8函数的引用和取消,已经在官方教程中已经移除,但是上面代码在PHP8中的还是有效的。