PHP中奇怪的数组语法


Strange array syntax in PHP

我正在修改一个web表单,这是它当前使用的数组语法:

$fields = array(); 
$fields{"name"} = "Name"; 
$fields{"title"} = "Title"; 
$fields{"email"} = "Email"; 
$fields{"prefer_phone"} = "Prefer phone"; 
$fields{"prefer_email"} = "Prefer email";
$fields{"message"} = "Message";
$fields{"referral"} = "Referral";

左边的值来自网络表单,右边的值显示在电子邮件中。

我对php不太熟悉,但在其他语言中还没有见过这样的数组设置。。(数组[5]等在哪里?)

我需要在数组中添加另一个变量。新变量来自脚本的早期,因此它不会有我假设的$fields{}语法。

我找不到PHP数组的这种语法的文档——有帮助吗?如何在此处添加另一个值。。类似于:

{$phone} = "Phone"; 

大括号实际上告诉PHP转义其中的值,所以虽然其他答案也是正确的,但这个故事还有更多值得理解的地方。

您还应该阅读This Answer

查看此问题

两者都是有效的,但可以更改为您期望看到的方括号表示法。

在PHP数组中,可以在括号内使用数字或字符串。http://php.net/manual/en/language.types.array.php

然而,通常情况下,它使用纯括号[],而不是卷曲的{}。