当前位置: 首页 > 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中的还是有效的。

 

相关文章:

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

今天分享的是php8函数的引用和取消&#xff0c;不过在PHP官方的参考手册中&#xff0c;已经删除了此类教程。 1、函数的引用 在PHP8中不管是自定义函数还是内置函数&#xff0c;都可以直接简单的通过函数名调佣。函数的引用大致有下面3种&#xff1a; 1.1、如果是PHP的内置函…...

华为OD机试真题【最大利润】

1、题目描述 【最大利润】 商人经营一家店铺&#xff0c;有number种商品&#xff0c;由于仓库限制每件商品的最大持有数量是item[index] 每种商品的价格是item-price[item_index][day] 通过对商品的买进和卖出获取利润 请给出商人在days天内能获取的最大的利润 注&#xff1a;…...

YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)

一、YOLOv5算法相关配置 🐸这里如果是自己只想跑一跑YOLOV5的话,可以参考本章节。只想跑通YOLOv5+deepsort的看官移步到下一章节。 1.1 yolov5下载 🐸yolov5源码在github下载地址上或者Gitee上面都有。需要注意的是由于yolov5的代码库作者一直在维护,所以下载的时候需…...

java.8 - java -overrideoverload 重写和重载

重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变&#xff0c;核心重写&#xff01; 重写的好处在于子类可以根据需要&#xff0c;定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不…...

oracle通配符大全

用于where比较条件的有 &#xff1a; 等于&#xff1a;、<、<、>、>、<> >,<:大于&#xff0c;小于 >.<:大于等于&#xff0c;小于等于 :等于 !,<>,^:不等于 包含&#xff1a;in、not in exists、not exists 范围&#xff1a;betwe…...

浏览器开发者工具平台js代码开启展开收起

1、如下js左侧可以展开和收起段落&#xff0c;需要打开右上角的设置 2、Preferences这里勾选Code folding 即可像上面那张图展开和收起js段落代码 3、然后重新打开开发者工具&#xff0c;随意打开一个js文件&#xff0c;这里就有缩放了...

opencv 案例实战01-停车场车牌识别实战

需求分析&#xff1a; 车牌识别技术主要应用领域有停车场收费管理&#xff0c;交通流量控制指标测量&#xff0c;车辆定位&#xff0c;汽车防盗&#xff0c;高速公路超速自动化监管、闯红灯电子警察、公路收费站等等功能。对于维护交通安全和城市治安&#xff0c;防止交通堵塞…...

【PHP】PHP开发教程-PHP开发环境安装

1、PHP简单介绍 PHP&#xff08;全称&#xff1a;Hypertext Preprocessor&#xff09;是一种广泛使用的开放源代码脚本语言&#xff0c;特别适用于Web开发。它嵌入在HTML中&#xff0c;通过在HTML文档中添加PHP标记和脚本&#xff0c;可以生成动态的、个性化的Web页面。 PHP最…...

AURIX TriCore内核架构学习笔记

名词缩写 ISA - Instruction Set Architecture&#xff0c;指令集架构PC - Program Counter, holds the address of the instruction that is currently runningGPRs - 32 General Purpose RegistersPSW - Program Status WordPCXI - Previous Context InformationCSA - Conte…...

VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小

文章目录 VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小引言创建ESXi7.0可启动 U 盘结果检查VMware ESXi 7.0 优化VMFSL磁盘占用与系统存储大小 引言 本文讲述了在 J1900平台上安装ESXi7.0时减少 VMFSL 分区占用的说明, 通常这来说些主机内置的磁盘空间非常小, 采用默认安…...

4.网络设计与redis、memcached、nginx组件(二)

系列文章目录 第四章 网络设计与redis、memcached、nginx组件(一) 第五章 网络设计与redis、memcached、nginx组件(二) 文章目录 系列文章目录[TOC](文章目录) 前言一、reactor模型&#xff1f;二、Reactor 开发1.建立连接 三、典型reactor 模型单reactor 模型典型 readisradi…...

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分&#xff0c;负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发&#xff0c;以下是一些常见的后端开发语言&#xff1a; Java&#xff1a; Java是一种广泛使用的面向对象编程语言&#xff0c;具有强大的跨平台能力。…...

Spring 学习源码的基础 核心原理与核心概念

文章目录 核心原理AnnotationConfigApplicationContextIoC 容器加载流程Spring 中如何创建一个对象Bean 的创建过程 (生命周期)单例 原型推断构造方法依赖注入AOP 动态代理判断是否需要 AOP 的大致流程CGLib 做 AOP 的大致流程事务事务代理对象执行方法的流程事务注解排至失效的…...

cpolar做一个内网穿透

因为不在公司&#xff0c;需要访问公司的数据库&#xff0c;所以做一个内网穿透 下载安装 下载地址&#xff1a; https://dashboard.cpolar.com/get-started 下载后是个压缩包&#xff0c;解压后傻瓜式安装 操作隧道 安装后打开Cpolar Web UI 登录账号&#xff0c;查看隧…...

自动驾驶——最优控制算法(LQR)工程化总结

1. Summary 时隔一年&#xff0c;从写下第一篇博文自动驾驶-LQR工程实现&#xff08;调研&#xff09;&#xff0c;到近段时间&#xff0c;真正在我们的控制器上运行最优控制算法&#xff08;LQR&#xff09;&#xff0c;一步一个脚印&#xff0c;从开始只是知道其“控制理论”…...

【微服务】05-网关与BFF(Backend For Frontend)

文章目录 1.打造网关1.1 简介1.2 连接模式1.3 打造网关 2.身份认证与授权2.1 身份认证方案2.1.1 JWT是什么2.1.2 启用JwtBearer身份认证2.1.3 配置身份认证2.1.4 JWT注意事项 1.打造网关 1.1 简介 BFF(Backend For Frontend)负责认证授权&#xff0c;服务聚合&#xff0c;目标…...

保证MQ的高可用的几种方案

推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...

MySql013——函数

一、数据处理函数 1.1、文本处理函数 函 数 说 明 Left() 返回串左边的字符Length() 返回串的长度Locate() 找出串的一个子串Lower() 将串转换为小写LTrim() 去掉串左边的空格Right() 返回串右边的字符RTrim() 去掉串右边的空格Soundex() 返回串…...

k8s-dashboard使用指导手册

一、访问 dashboard http://172.66.209.101:32001 二、选择 Namespace 如下图&#xff1a; 1 在①搜索框中输入 spms 2 在②选择 spms-cloud 三、查找 pod 1 打开 pod 列表 2 打开过滤窗口 3 搜索 pod 在打开的搜索框中输入 pod的关键字&#xff0c;支持模糊搜索 如搜索…...

Python爬虫快速入门指南

引言&#xff1a; 网络爬虫是一种自动化程序&#xff0c;可以在互联网上搜集和提取数据。Python作为一种功能强大且易学的编程语言&#xff0c;成为了许多爬虫开发者的首选。本文将为你提供一个关于Python爬虫的快速入门指南&#xff0c;包括基本概念、工具和实际案例。 第一…...

外科医生AI认知变迁:从技术好奇到价值驱动的全球调查

1. 项目概述&#xff1a;一场关于外科医生与AI认知变迁的全球对话作为一名长期关注技术与医疗交叉领域的从业者&#xff0c;我始终对一个问题抱有浓厚兴趣&#xff1a;当一项颠覆性技术从实验室走向临床&#xff0c;真正使用它的医生们究竟在想什么&#xff1f;他们的期待、困惑…...

告别硬编码!SAP ABAPer必学的5个POPUP函数实战用法(附完整代码)

告别硬编码&#xff01;SAP ABAPer必学的5个POPUP函数实战用法&#xff08;附完整代码&#xff09; 在SAP ABAP开发中&#xff0c;交互设计往往决定了用户体验的好坏。想象一下这样的场景&#xff1a;用户在执行关键操作时缺乏明确确认&#xff0c;导致数据误删&#xff1b;或者…...

NodeMCU PyFlasher:ESP8266图形化固件烧录终极解决方案

NodeMCU PyFlasher&#xff1a;ESP8266图形化固件烧录终极解决方案 【免费下载链接】nodemcu-pyflasher Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython. 项目地址: https://gitcode.com/gh_mirrors/no/nodemcu-pyflasher 对于ESP8266开发者…...

ThunderAI:开箱即用的桌面AI助手,聚合Ollama与多模型应用实战

1. 项目概述&#xff1a;一个开箱即用的AI助手桌面应用最近在折腾本地AI应用的时候&#xff0c;发现了一个挺有意思的项目&#xff0c;叫ThunderAI。这名字听着就挺带劲&#xff0c;像一道闪电&#xff0c;主打的就是一个“快”和“直接”。简单来说&#xff0c;它就是一个基于…...

Taotoken 官方价折扣与活动价助力个人开发者降低创新门槛

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 官方价折扣与活动价助力个人开发者降低创新门槛 对于个人开发者和学生而言&#xff0c;探索大模型应用的最大挑战之一往往…...

Robodyssey机器人教育:从STEM理念到项目实践,点燃孩子科技兴趣

1. 项目概述与核心理念十年前&#xff0c;我在一次行业展会上第一次看到一群孩子围着一个摊位&#xff0c;他们不是在玩现成的玩具&#xff0c;而是聚精会神地调试着自己手里那些由电线、电路板和塑料零件组成的“小怪物”。那个摊位就是Robodyssey。当时我就在想&#xff0c;把…...

【其他】Obsidian笔记Remotely Save插件中国科技云数据胶囊 配置免费的笔记同步

目录 一 注册中国科技云数据胶囊 二 插件下载 & 配置 三 同步测试 一 注册中国科技云数据胶囊 【1】搜索“中国科技云”&#xff0c;找到“数据胶囊”选项&#xff0c;实名注册可以领取20G的容量&#xff1a; 【2】选择“新数据空间”&#xff0c;输入库的标题&#xf…...

基于VitePress构建开源AI智能体框架深度中文文档站实战指南

1. 项目概述&#xff1a;一个为AI智能体框架量身打造的中文文档站如果你正在寻找一个能帮你把Claude、GPT这些大模型快速接入到微信、Telegram、飞书等聊天软件的开源框架&#xff0c;那你大概率会接触到OpenClaw&#xff08;原名ClawdBot&#xff09;。但当你兴冲冲地打开官方…...

AI编程助手色彩科学技能库:从OKLCH到APCA的现代色彩实践

1. 项目概述&#xff1a;一个为AI编程助手打造的“色彩科学专家”技能库如果你和我一样&#xff0c;经常在开发与色彩相关的工具、设计系统&#xff0c;或者需要向团队解释为什么某个颜色方案行不通时&#xff0c;总得反复查阅同一堆资料——那个讲解OKLAB色彩空间的视频、那篇…...

为AI编程助手构建持久化项目记忆库:告别上下文遗忘,提升团队协作效率

1. 项目概述&#xff1a;为AI编程助手构建持久化项目记忆库如果你和我一样&#xff0c;每天都要和Claude Code、Cursor这些AI编程助手打交道&#xff0c;肯定遇到过这个烦人的问题&#xff1a;每次新开一个对话&#xff0c;AI就像得了失忆症&#xff0c;完全不记得你刚才在做什…...