【发布时间】:2012-11-29 09:23:34
【问题描述】:
我在现有的 php 源中发现了一个现象, 像这样没有撇号的字段访问:$_GET[test]。
我不确定,也不知道,这是一种可能的方式, 所以我写了一个简短的测试示例:
echo "Array Test, fields without apostrophe, like \$_GET[fieldname]<BR><BR>";
$a = array();
$a['test'] = "ArrayValue";
echo "case 1 -> \$a['test']: " . $a['test'] . "<BR>";
echo "case 2 -> \$a[\"test\"]: " . $a["test"] . "<BR>";
echo "case 3 -> \$a[test]: " . $a[test] . "<BR>";
而且它有效,每个结果都有值(ArrayValue)。
我更喜欢案例2这样的访问方式。
案例 3 是 php 中正常的、允许的编码风格吗?
【问题讨论】:
-
我记得在使用未定义的常量时收到警告,它被视为字符串。但是不,这不是“允许的编码风格”。
-
感谢您的回答!我检查了 apache 日志,它没有发出警告(php.ini: error_reporting = E_ALL & ~E_DEPRECATED; phpinfo: 22527)。很高兴听到,这不是一个好风格!
-
EASY,define() 所有的键都说
define('test','test')
标签: php arrays apostrophe