使用解构在 PHP 中交换变量

交换变量是一项常见任务,通常使用这样的临时变量进行教学和实现:

function swap(&$left, &$right): void
{
    $tmp = $left;
    $left = $right;
    $right = $tmp;
}

但是使用解构有一种更短的方法(从 php 7.1 开始!):

function swap(&$left, &$right): void
{
    [$left, $right] = [$right, $left];
}

也许代码看起来有点奇怪,我还没有分析它的性能问题,但它有助于理解解构。

顺便说一句,这不是 php 独有的功能,请随意测试它,例如在 javascript 中。

以上就是使用解构在 PHP 中交换变量的详细内容,更多请关注昆居客【www.kunjuke.com】。

相关推荐:

VBA 变量基础教程

在前一节《Excel VBA 基础》中,我们已初步了解了部分核心概念与基本操作。部分教程中曾出现具体 VBA 代码示例,你或许尚未完全理解其含义——这完全不必担心。从本章《VBA 变量、类型和运算符》起,我们将系统学习 VBA 的语法体系,正式迈入真实的编程实践阶段,助你编写出真正具备实用价值的代码。 本节聚焦于 VBA 编程中最基础也最关键的元素:VBA 变量。 所谓变量,是 VBA 中用于临时...

为什么Figma AI生成的设计没有使用变量_手动将Hex颜色关联至Variable

Figma AI生成稿中颜色未绑定Color Variables是因为其默认输出静态HEX值。需手动通过四步操作完成绑定:一、在Local Variables中创建对应Color变量;二、逐图层在Fill中切换为Variables引用;三、用Selection Colors批量选中相同HEX图层后统一替换;四、用Find and Replace全局搜索HEX并替换为Color variable。 ...

为什么Figma的Variable变量管理很混乱_通过Collection自动化分组

Figma中Variables需通过Collection实现自动化分组与语义管理:一、创建Tokens/Core、Theme、State三个Collection;二、用color/primary/500等斜杠命名自动归类;三、用Tag跨Collection筛选;四、用Tokens Sync插件批量校验同步;五、按Collection导出独立JSON Schema文件。 ☞☞☞AI 智能聊天, 问答...
· AI · 25224

如何解决Python中的UnboundLocalError局部变量引用错误_使用global或nonlocal关键字声明

Python函数内同名变量报UnboundLocalError,因编译期将赋值变量标记为局部,读取在赋值前则出错;global用于模块级变量,nonlocal用于最近外层函数变量,二者不可混用且需提前声明。 为什么在函数里修改同名变量会报 UnboundLocalError Python 在编译函数时,只要看到某个变量在函数体内有赋值操作(哪怕只在 if 分支里),就会把它标记为局部变量。之后如果...
· Python · 220466

如何在每月内保持目标变量比例平衡地对Pandas DataFrame进行下采样

本文介绍一种高效、安全的分组下采样方法:按month分组后,在每个组内对target=0和target=1的样本分别随机抽样,使二者数量相等(取每组中较小类别的原始频数),从而实现月度层面的类别平衡。 本文介绍一种高效、安全的分组下采样方法:按month分组后,在每个组内对target=0和target=1的样本分别随机抽样,使二者数量相等(取每组中较小类别的原始频数),从而实现月度层面的类别平衡...
· Python · 150057

如何在每月内保持目标变量比例一致地对Pandas DataFrame进行下采样

本文介绍一种高效、安全的分组下采样方法:对每个month组内,按target=0和target=1的最小频数统一截断,确保每月两类样本数量相等,同时保留所有原始列且避免settingwithcopywarning。 本文介绍一种高效、安全的分组下采样方法:对每个month组内,按target=0和target=1的最小频数统一截断,确保每月两类样本数量相等,同时保留所有原始列且避免settingw...
· Python · 310267

Pyomo 中实现变量取值于离散浮点数集的正确建模方法

在 Pyomo 中无法直接用 model.x[t] in set(...) 约束连续变量取离散值;需引入二元变量和大M/凸组合技巧,将离散选项线性化表达。本文详解如何为热电联产(CHP)负荷与对应价格联合建模,确保二者同步取自预定义的离散点对。 在 pyomo 中无法直接用 `model.x[t] in set(...)` 约束连续变量取离散值;需引入二元变量和大m/凸组合技巧,将离散选项线性化表...
· Python · 67264

Pyomo中实现离散浮点变量约束的正确方法:基于二元变量的分段线性建模

在Pyomo中无法直接用in set(...)约束连续变量取离散浮点值;正确做法是引入二元变量对每个时间步的离散选项进行“独热”选择,并通过线性约束将原变量表示为离散点的加权和。 在pyomo中无法直接用model.chp[t] in set(discrete_points_chp)约束连续变量取离散浮点值;正确做法是引入二元变量对每个时间步的离散选项进行“独热”选择,并通过线性约束将原变量表示为...
· Python · 97187