在 php 中解压参数数组

2024-03-11

Python 提供了“*”运算符来解压元组列表并将它们作为参数提供给函数,如下所示:

args = [3, 6]
range(*args)            # call with arguments unpacked from a list

这相当于:

range(3, 6)

有谁知道是否有办法在 PHP 中实现这一点?谷歌搜索“PHP Unpack”的变体并没有立即找到任何东西..也许它在 PHP 中被称为不同的东西?


In php5.6 参数解包通过...(splat 操作员) http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.splat已添加。使用它,你可以摆脱call_user_func_array()对于这个更简单的替代方案。例如有一个函数:

function add($a, $b){
  return $a + $b;
}

用你的阵列$list = [4, 6];(php5.5之后可以用这种方式声明数组)。

您可以使用以下方式调用您的函数...:

echo add(...$list);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 php 中解压参数数组 的相关文章

随机推荐

  • 将 @Embeddable 映射到单独的表中

    两个表如 CREATE TABLE foo id INT PRIMARY KEY x TEXT CREATE TABLE bar foo id INT REFERENCES foo id ON DELETE CASCADE y TEXT z
  • MPI_Send() 和 MPI_Ssend() 之间的区别?

    I know MPI Send 是一个阻塞调用 它会等待直到可以安全地修改应用程序缓冲区以供重用 为了使发送调用同步 应该与接收者握手 我们需要使用MPI Ssend 我想知道两者之间的区别 假设我需要在进程之间发送固定数量的字节 哪一个应
  • 函数式编程中的无限循环?

    我想知道 在函数式编程中可以完成无限循环吗 例子 使用windows API获取windows消息时 通常是循环实现的 我知道可以创建一个无限期递归的函数 我预计这会导致堆栈溢出 对于函数式编程来说 无限循环是错误的思维模式吗 是操作系统接
  • 如何从 JavaScript 中的 URL 获取基域

    我想从 javascript 中的 url 中提取基本域 例如 对于下面列出的网址列表 我需要获取谷歌网站 or google co in视情况而定 作为结果 www google comwww google co inwww images
  • 循环向量(R 中的自省?)或其他方法

    我有一张桌子tf带有列标题的值formant vowel length IL SG 这就是我获取它们的值的方式 f1a lt subset tf tf vowel a tf formant F1 IL f2a lt subset tf tf
  • 如何使用 docker-compose 更新现有镜像?

    我有多个微服务 并且正在使用 docker compose 进行开发部署 当微服务代码库发生一些变化时 我会触发 ci 作业来重新部署它们 我有下面的脚本来执行此操作 但每次我都必须从头开始构建所有图像 然后运行它们 完成所有这些操作后 我
  • SQLAlchemy 类型对象“日期”没有属性“_set_parent_with_dispatch”

    我正在使用 sqlalchemy 和简单模型模式 class Mail Base tablename mail id Column Integer primary key True date Column Date nullable Fal
  • 使用 ggplot 将图例添加到单折线图

    我只是尝试制作一个折线图并使用 R 中的 ggplot 添加图例 以下是我的代码 ggplot mtcars aes x mpg y wt geom line stat identity scale fill identity name g
  • Visual Studio 2010 - 无法从 GAC 添加程序集引用

    我现在已经转到 Visual Studio 2010 Beta 2 我已经使用了几天 但现在我无法再添加来自 GAC 的参考文献 http bildr no view 549966 http bildr no view 549966 抱歉
  • 从 getaddrinfo() 获取服务器 ip 0.0.0.0:0

    我正在遵循 Beej 的 NP 指南 我做了一些修改 并尝试通过 getaddrinfo 获取我的服务器程序的 IP 原文可以在这里找到http beej us guide bgnet output html singlepage bgne
  • Android:数据库 sqLite 不插入表

    我试图将数据插入数据库 但添加后 当我检查数据库时 我得到一个空结果 这意味着它仍然是空的 我不知道错误在哪里 我做了一些日志 但没有看到错误 我确信我犯了一个愚蠢的错误 但我看不到它 此插入不起作用 bdd insert TABLE RS
  • 使用 Visual C++ 编译器在 Windows 上构建库时如何正确设置目标操作系统版本

    我正在使用 Visual C 2013 编译器 特别是在 Windows 平台上具有 C 11 功能 构建跨平台库 并使用 CMake NMake 生成器 作为构建系统 我使用的是 Windows 7 我的库使用一些仅在 Windows 8
  • 导出的 Google+ 照片,如何将 JSON 数据转换为 EXIF?

    最近使用 Google Takeout 从 Google 下载了 60GB 以上的照片和视频 这会产生大量文件 但有价值的元数据 包括照片的原始日期和位置 通常存储在每个相册的单独的metadata json 文件中 而不是存储在 EXIF
  • 如何使用 Odata Dynamics NAV 2017 Web 服务删除记录

    我开发了一个连接到 Microsoft Dynamics NAV 2017 OData Web 服务的 php 应用程序 我可以毫无问题地读取 GET 和创建 POST 但对于删除 我收到错误 405 微软说可以删除 https msdn
  • 无状态和有状态 Enterprise Java Bean

    我正在阅读 Java EE 6 教程 并试图了解无状态会话 bean 和有状态会话 bean 之间的区别 如果无状态会话 Bean 在方法调用之间不保留其状态 为什么我的程序会这样运行 package mybeans import java
  • 将 AWT 图像转换为 SVG 图像

    我正在使用以下代码摄取 AWT 图像 从 PDF 通过 PDFBox private java awt Graphics2D graphics public void drawImage java awt Image awtImage ja
  • 从 Android 联系人列表中获取电子邮件

    如何在Android联系人中以编程方式获取选定人员的电子邮件ID 应该支持所有版本 我尝试过 people 类 但主要电子邮件方法已被弃用 提前致谢 Aswan 嘿阿斯旺 我从来没有这样做过 但可以给你想法 此代码让您了解如何将电子邮件添加
  • 如何将带有重音符号、变音符号等的字母转换为 Perl 中对应的 ASCII 字母?

    我正在编写一个与 Perl 中的文档一起使用的程序 许多文档都具有诸如 etc 大写和小写 我想将它们替换为 ASCII 对应项a o u e etc 我将如何在 Perl 中做到这一点 我想到的解决方案之一是使用一个散列 其中键是元音变音
  • 如何解决打字稿中隐式任何类型到索引类型错误?

    如何解决这个错误 元素隐式具有 any 类型 因为 any 类型的表达式不能用于索引类型 这个错误背后的原因是什么 什么是索引类型 代码如下 const getPast action gt const presentToPast appro
  • 在 php 中解压参数数组

    Python 提供了 运算符来解压元组列表并将它们作为参数提供给函数 如下所示 args 3 6 range args call with arguments unpacked from a list 这相当于 range 3 6 有谁知道