【发布时间】:2016-06-10 09:30:56
【问题描述】:
我正在阅读一些遗留代码并遇到一个奇怪的案例:
$my_assoc_array; /* User defined associative array */
$my_key; /* User defined String */
$value = $my_assoc_array["$my_key"];
当变量用作键时,您是否希望在变量周围加上引文标记 (")?像一个非常特殊的角落案例?还是根本没有理由这样做?
-- 编辑--
也许在某些旧版本的 PHP 中存在差异? (记住这是遗留代码)。
【问题讨论】:
-
在这个具体的例子中,这是没有意义的,但你的场景是非常非常严格的。
-
@JonStirling 什么时候可以这样做?
-
好吧,与任何其他双引号字符串一样,您可以在变量上构建,例如“key_$my_key”。还有一个想法是
$my_key可能是一个带有 __toString 的对象(尽管我一生都无法理解为什么有人会这样做)。但它们不适用于您给出的示例。
标签: php arrays string associative-array