PHP 数组表示法中的大括号

2024-04-25

我刚刚遇到了一段非常奇怪的 php 代码:

$oink{'pig'} = 1;
var_dump($oink);

$oink{'pig'} = '123123';
echo $oink{'pig'}; /* => 123123 */
echo $oink['pig']; /* => 123123 */

它的工作原理类似于数组,但手册中没有提到。这是什么?


It is手册中提到。{}只是一个替代语法[] § 使用方括号语法访问数组元素 https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing。从 PHP 7.4.0 开始,此方法已被弃用不再支持从 PHP 8.0.0 开始。

Note:

在 PHP 8.0.0 之前,方括号和大括号可以互换使用来访问数组元素(例如,在上面的示例中,$array[42] 和 $array{42} 都会执行相同的操作)。从 PHP 7.4.0 开始,大括号语法已被弃用,并且从 PHP 8.0.0 开始不再受支持。

弦也一样§ 按字符访问和修改字符串 https://www.php.net/manual/en/language.types.string.php#language.types.string.substr:

可以通过使用方数组括号指定字符串后所需字符的从零开始的偏移量来访问和修改字符串中的字符,如下所示$str[42]. 为此,可以将字符串视为字符数组。 [...]

注意:在 PHP 8.0.0 之前,出于相同目的,也可以使用大括号访问字符串,如 $str{42} 中所示。从 PHP 7.4.0 开始,此花括号语法已被弃用,并且从 PHP 8.0.0 开始不再受支持。

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

PHP 数组表示法中的大括号 的相关文章

  • 将嵌套数组中的“点符号”键扩展到子数组

    我从某个任意深度的嵌套数组开始 在该数组中 一些键是一系列由点分隔的标记 例如 billingAddress street 或 foo bar baz 我想将这些键控元素扩展到数组 因此结果是一个嵌套数组 其中所有这些键都已扩展 例如 bi
  • 在 Symfony3 中覆盖 Doctrine2 类型

    我想用Carbon http carbon nesbot com docs 我的 Symfony 3 2 应用程序中的对象而不是 SPL DateTime 对象 我发现了一组 DoctrineExtension 类here https gi
  • 递增字母数字组合

    我偶然发现了这篇文章 如何在 PHP 中仅使用小写字母和数字来增加字母数字字符串 https stackoverflow com questions 42866349 how to increment alphanumeric string
  • 如何从 WooCommerce 中的订单获取客户详细信息?

    我有一个函数可以执行此操作 order new WC Order order id customer new WC Customer order id 我如何从中获取客户详细信息 我已经尝试了文档中的所有内容 但不知何故 只存在一些细节 但
  • 用户输入数组大小 C [重复]

    这个问题在这里已经有答案了 编写一个程序 要求用户输入数组大小 n 的值 并用 n 个整数填充数组 然后反转数组并将其打印在屏幕上 我正在使用 Visual Studio 并到目前为止 我在 int arr1 size 中遇到 size 问
  • Swift - 如何复制包含引用类型的数组

    我正在尝试复制数组及其值 为什么两个数组都引用同一个变量 您可以在 Playground 中尝试此操作 var view UIView view tag 1 var a UIView var b UIView a append view b
  • 如何处理“不符合”的数组?

    如何对两个数组进行逐元素算术运算 在第一维度中一致 但也有一个额外的维度 示例 乘法数组a 3 x 3 x 2 按数组b 3 x 3 a lt array 1 18 dim c 3 3 2 b lt diag 3 由于数组不一致 因此以下操
  • 如果重复,则从数组中删除两个值 - JavaScript/jQuery

    我这里有一个数组 var myArr 1 1 2 5 5 7 8 9 9 现在我想删除重复的两个外观 所以想要的结果是not var myArr 1 2 5 7 8 9 but var myArr 2 7 8 基本上我知道如何删除重复项 但
  • 谁添加“_”单下划线查询参数?

    我有一个在 Apache 上运行的 PHP 服务器 我收到很多类似这样的请求 10 1 1 211 02 Sep 2010 16 14 31 0400 GET request 1283458471913 action get list HT
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 将数组传递给函数 - 指针与引用(C++ 与 C)

    我有一个关于将数组传递给函数的最佳实践的广泛问题 因此 过去当我用 C 语言编程时 我想要一个函数的输入是一个数组 我会声明该函数的输入参数是一个指针 这效果相对较好 然而 我已经开始更多地使用 C 进行编程 并试图确定将数组传递到函数中的
  • 如何检查php字符串是否只包含英文字母和数字?

    在 JS 中我使用了这段代码 if string match A Za z0 9 但我不知道如何在 PHP 中做到这一点 Use 预匹配 http php net manual en function preg match php if p
  • 无法创建可锁定文件 - Laravel 8 和 PHP 8

    我被困在 Laravel 项目中 我已经使用 Laravel 很多年了 但从未发生过这种情况 我正在使用 Vagrant 一如既往 并且只在 PHP 8 中发生这种情况 使用 php 7 X 的其他项目不会发生这种情况 USER 和 GRO
  • 更新 Bootstrap 缩略图网格 - ajax 请求

    设想 我有一个带有显示国家 地区的 Twitter Bootstrap 缩略图网格的视图 当用户单击一张图像时 它应该在同一网格 屏幕 中显示与该国家 地区相关的城市 技术的 首先 我用国家 地区填充 dataProvider 然后我应该将
  • Preg_match PHP 到 java 的翻译

    我在将 php preg match 转换为 java 时遇到一些问题 我以为我的一切都是正确的 但它似乎不起作用 这是代码 原始PHP Pattern for 44 Character UUID pattern 0 9A F 44 if
  • 如何使用 Laravel IoC 将数据库注入构造函数

    我想使用 DB 类与 IoC 容器进行事务处理 use Illuminate Database Connection as DB public function construct DB db this gt db db 但是当使用 db
  • 将文件内容存储到数组中

    我的刽子手程序有问题 我真的认为我需要做的事情超出了我对java的理解 这是我的代码 import java io BufferedReader import java io FileReader import java io FileNo
  • 为什么使用 LAMP 托管时避免使用 CGI for Python?

    我已经使用 PHP 多年了 最近我在论坛上看到很多帖子说PHP 已经过时了 现代编程语言更简单 更安全等等 所以 我决定开始学习Python 由于我习惯使用 PHP 因此我刚刚开始通过上传 htaccess 文件来构建页面 addtype
  • WordPress:wpdb->插入与wpdb->准备(wpdb->查询(“INSERT

    我想知道 WordPress 的插入功能是否也向数据添加斜杠 如果没有 准备查询方法似乎可以更好地防止 SQL 注入 我尝试在 codex api 中查找问题 然而 它似乎没有记录 谢谢 这个问题有点老了 自从提出这个问题以来 法典可能已经
  • 变量前面的@是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 参考 这个符号在 PHP 中意味着什么 https stackoverflow com questions 3737139 reference what does this symbol mean i

随机推荐

  • 如何在 PHP 中检测、删除和重定向末尾带有 # 的 url?

    客户要求我自动将任何带有井号的网址重定向到不带井号的版本 但我认为我没有使用此公式在任何网址中检测到 我使用 curPageURL 公式通过电子邮件给自己发送了一个示例 URL 它在我正在测试的 URL 中不包含尾随 符号 function
  • 在创建命名文件夹之前检查其是否存在

    我正在尝试将 Google Drive 中的特定文件插入到文件夹中 我还想检查是否有一个具有名称的文件夹 testFolder 如果是 则将文件插入到已存在的文件夹中 否则创建一个名为 testFolder 这是我到目前为止所想到的 但它总
  • 检测windows上的核心数

    如果我在 Linux 或 Mac 上运行 R 我可以使用以下命令检测可用内核的数量multicore detectCores 但是 没有 Windows 版本的多核功能 因此我无法在 Windows 上使用此技术 如何从 R 中以编程方式检
  • 从 Perl 守护程序运行时,为什么 FFMpeg 在五秒后停止?

    我用 Perl 编写了一个小守护程序 它调用 FFMpeg 对视频进行编码 但编码在 5 秒左右后停止 我用这段代码来启动它 my t echo ffmpeg command gt gt self gt FFMPEG OUTPUT my l
  • 在 flutter 应用程序中实现轮廓文本字段输入和标签文本

    我想要一个带有边框的文本字段输入 边框内有标签 如下图所示 先感谢您 我想你想要实现这样的目标 Inactive Active Validation 您可以使用此小部件来实现此设计 class OutlineBorderTextFormFi
  • y -= m < 3 是什么意思?

    在查看一些示例 C 代码时 我发现了这一点 y m lt 3 这是做什么的 它是某种压缩的 for 循环之类的吗 据我所知 用谷歌搜索是不可能的 m lt 3或者是1 or 0 取决于真值 So y y 1 when m lt 3 is t
  • golang - 省略 json 属性进行序列化的优雅方法

    我有一个用户结构 其中包含密码等敏感字段 type User struct UID string json uid binding required Password string json password binding require
  • T-SQL-在单个查询中包含计数总和(*)

    使用表 i 以及字段 date entered 和 code 我编写了一个查询来列出每年 code 12A 的计数 select distinct year date entered as Yr count as Cnt from i wh
  • 如何使用 JavaScript 四舍五入到任意数量的有效数字?

    我尝试了下面的示例代码 function sigFigs n sig if n 0 return 0 var mult Math pow 10 sig Math floor Math log n lt 0 n n Math LN10 1 r
  • 在 Converter 中将 JSF 日历日期转换为 JodaTime

    JodaTime 可能是最好的日期和时间库 因此 我很想从后台 bean 的 JodaTime 实例中的前端 xhtml Calendar 小部件接收用户输入 因此我正在考虑使用 JSF Converter 来完成这项工作 这样做明智吗 同
  • 在node.js 中创建链式方法?

    是否可以在 Node js 中创建像这样的异步链式方法 File create file jpg rename renamed jpg append Hello World 也就是说非阻塞 你基本上想要abstractAPI 上的文件处理操
  • ShapeDrawable 中的偏移形状

    我正在尝试使用扩展 ShapeDrawable 的类来绘制一个带有边框的圆角矩形 请参阅here https stackoverflow com questions 2145131 trying to draw a button how t
  • 有没有基于bootstrap的可视化网页编辑器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在完全自动反转重复周期之间延迟 SwiftUI 中的重复动画

    我正在 SwiftUI 中构建一个 Apple Watch 应用 它可以读取用户的心率并将其显示在心形符号旁边 我有一个动画可以让心形符号反复跳动 由于我知道实际用户的心率 因此我希望使其以与用户心率相同的速率跳动 并在每次速率变化时更新动
  • GAM SDK 测试安装后不显示 Gmail 上下文小工具

    在 Google Apps Marketplace SDK 中测试安装流程后 我无法在 Gmail 中看到上下文小工具 以下是我创建项目所采取的步骤 以域管理员身份登录 创建 Google Apps 控制台项目 创建 OAuth2 客户端
  • 如何在 Angular 6+ 中的本地计算机上运行 Dist 文件夹?

    我正在构建应用程序Angular6 现在我运行命令ng build prod这给了我一个 dist 文件夹 如何在本地主机上检查或提供该文件夹 你可以使用http服务器 https www npmjs com package http se
  • 如何列出已安装的 go 软件包

    据我所知go distribution带有某种package manager After go 1 4 1我已经运行的安装go help为了找到任何能够列出本地安装的子命令go packages 但不幸的是没有 那么该怎么做呢 goinst
  • python: from x import y 改变之前的导入结果

    我试图理解 python 中的包和模块名称隐藏规则 并偶然发现了一种情况 我不明白为什么我看到的结果有意义 这种情况发生在 python 2 中 from future import absolute imports 和Python 3 假
  • HTML5 视频在移动浏览器上自动播放

    我使用以下 HTML5 和 JQuery 代码来播放 URL 位于数组 URLArray 中的视频播放列表 function NextFrag if index lt URLArray length VideoContainer html
  • PHP 数组表示法中的大括号

    我刚刚遇到了一段非常奇怪的 php 代码 oink pig 1 var dump oink oink pig 123123 echo oink pig gt 123123 echo oink pig gt 123123 它的工作原理类似于数