我可以使用以下方式访问数组值$array[key]
or $array['key']
是否有理由避免使用其中一种而不是另一种?
使用后一种变体$array['key']
。前者只能工作,因为 PHP 是宽容的并且假定字符串值key
如果没有常量命名key:
始终在字符串文字数组索引周围使用引号。例如,$foo['bar']
是正确的,同时$foo[bar]
不是。 […]这是错误的,但它有效。原因是这个 […] 有一个未定义的常量 (bar
) 而不是字符串 ('bar'
- 注意引号)。
也可以看看数组的注意事项 http://php.net/manual/en/language.types.array.php#language.types.array.foo-bar.
现在与在纯 PHP 代码中访问数组相反,当使用双引号字符串中的变量解析 http://php.net/manual/en/language.types.string.php#language.types.string.parsing你实际上需要在不带引号的情况下编写它或使用大括号语法 http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex:
[...] 在双引号字符串内,不使用引号包围数组索引是有效的,因此"$foo[bar]"
已验证。有关原因的详细信息,请参阅上面的示例以及字符串中的变量解析部分。
So:
// syntax error
echo "$array['key']";
// valid
echo "$array[key]";
echo "{$array['key']}";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)