“[]”运算符的名称是啥?
Posted
技术标签:
【中文标题】“[]”运算符的名称是啥?【英文标题】:What is the name of the "[]" operator?“[]”运算符的名称是什么? 【发布时间】:2013-08-06 05:26:17 【问题描述】:有问题的运算符可用于将值推入数组:
$array []= $value
关于array_push
的php.net 文章多次提及它,但似乎没有提及它的名字。
【问题讨论】:
即数组下标运算符。你可以看到更多关于如何重载它here ...或“方括号语法”:php.net/manual/de/language.types.array.php 让我们称之为 NEW_ELEMENT_INLINE_OPERATOR ?但是您可以选择任何名称或标题来调用该结构:-) 【参考方案1】:“[]”运算符的名称是什么?
没有特殊的名。 PHP docs 简单地称它为方括号语法。
注意:不是$arr []=
,而是$arr[] =
。虽然 PHP 会忽略空格,但不应将其与其他速记赋值混淆。
如果您需要了解 $arr[] = ...
的作用,请参阅 Flashin's answer。
【讨论】:
你能举一个“其他速记作业”的例子吗? 当然。诸如+=
、-=
、&=
之类的东西。虽然它可能有效,但将数组赋值写为[]=
并不常见。也就是说,方括号与变量相关联,而不是=
。【参考方案2】:
您可以认为这是一个数组运算符。但不知道它是否有确切的名称。
使用方括号语法创建/修改 可以通过在其中显式设置值来修改现有数组。
这是通过将值分配给数组并在括号中指定键来完成的。也可以省略该键,从而产生一对空括号 ([])。
$arr[key] = value; $arr[] = value; // key may be an integer or string // value may be any value of any type
如果 $arr 还不存在,它将被创建,所以这也是创建数组的另一种方式。然而,这种做法是不鼓励的,因为如果 $arr 已经包含一些值(例如来自请求变量的字符串),那么这个值将保留在该位置并且 [] 实际上可能代表字符串访问运算符。通过直接赋值来初始化变量总是更好。
http://nl3.php.net/manual/en/language.types.array.php
【讨论】:
您给出的报价似乎没有使用该术语(即array operator
)。以上是关于“[]”运算符的名称是啥?的主要内容,如果未能解决你的问题,请参考以下文章