当前位置: 首页 > news >正文

PHP8函数的引用和取消-PHP8知识详解

今天分享的是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。

请注意,引用参数只能传递给其他支持引用的函数,并且不能直接用于调用普通的非引用函数。

Image

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中的还是有效的。

 

http://www.lryc.cn/news/140904.html

相关文章:

  • 华为OD机试真题【最大利润】
  • YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)
  • java.8 - java -overrideoverload 重写和重载
  • oracle通配符大全
  • 浏览器开发者工具平台js代码开启展开收起
  • opencv 案例实战01-停车场车牌识别实战
  • 【PHP】PHP开发教程-PHP开发环境安装
  • AURIX TriCore内核架构学习笔记
  • VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小
  • 4.网络设计与redis、memcached、nginx组件(二)
  • 后端开发有哪几种语言? - 易智编译EaseEditing
  • Spring 学习源码的基础 核心原理与核心概念
  • cpolar做一个内网穿透
  • 自动驾驶——最优控制算法(LQR)工程化总结
  • 【微服务】05-网关与BFF(Backend For Frontend)
  • 保证MQ的高可用的几种方案
  • MySql013——函数
  • k8s-dashboard使用指导手册
  • Python爬虫快速入门指南
  • Java人脸识别技术探索与实践
  • 【鞋服零售ERP】之要货申请单设计思路
  • EWM怎么取消pinking,SAP_EWM取消拣配报错处理方式
  • TensorFlow 的基本概念和使用场景
  • openssl 加密(encrypt)、解密(decrypt)、签名(sign)、验证(verify)
  • 视频云存储/安防监控视频AI智能分析网关V3:抽烟/打电话功能详解
  • 新版Jadx 加载dex报错 jadx.plugins.input.dex.DexException:Bad checksum 解决方法
  • win11+vmware17+centos7.9环境搭建
  • Unity Meta Quest MR 开发教程:(二)自定义透视 Passthrough【透视功能进阶】
  • vue3学习源码笔记(小白入门系列)------ 组件是如何渲染成dom挂载到指定位置的?
  • 【编码规范】从代码之丑聊代码规范