谁能解释一下$arr[x] $arr['x'] $arr["x"]这3个的区别 $arr[x]错误 $arr['x']和 $arr["x"]一样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $arr[x]; 并不错误 你可以自己试试另外2个好像也不完全一样 ......你把错误全开这样会有一个undefined const <?php$a=array("a"=>"a","b"=>"b","c"=>"c","d"=>"d");echo $a[a],$a['a'],$a["a"];//return aaa?>我做的测试值是一样的,表明结果一样。一家之言! $a[a]是不规范的写法!结果一样,是因为由于a未定义,php把a当前值为"a"的常量,变成$a["a"],但这样会导致一个神仙说的错误! $a[a]是会报错的,如果有a名的常量就更错了。$a['a']和$a["a"]是完全一样的,但是$a['a$a']和$a["a$a"]应该就有区别了 那我把问题升级一下 $arr[$x];$arr['$x'];$arr["$x"];这3个的区别 第一个不用说了吧?PHP会查找变量$x的值作为索引名称。至于第二个和第三个,你重要要理解PHP语法的一个最基本问题:单引号和双引号的区别。PHP不会解释单引号内的任何东西(当然,单引号本身除外,要用\开头),只把它作纯字符串处理。而PHP却会对双引号内的变量和转义字符进行解释。以上这个基本常识可以在PHP手册的第十一章(类型)里的《字符串》那节找到。那么,结果就很清楚了。第二个变量,PHP解会查找$arr里索引名为一个美元符号加一个x,也就是索引名为“$x”的单元。第三个,PHP将会解释双引号内的变量,也就是说,其值和第一个相同。关于数据索引名有关的东西,可以在PHP手册第十一章的《数组》小节里找到。 只有一个a是非法字符因为PHP变量前面必须加$而常量必须加单引号或双引号 着急,帮忙看看 smarty 数据库查询问题 discuz 论坛 如何加提示 php.ini 配置问题 哪位大哥 帮小弟 诠释下~ smarty中怎么把两个变量写一起? mysql_connect(): The mysql extension is deprecated问题 论坛转移新空间 恢复数据出现问题MYSQL版本不对无法恢复 请求帮助! php 的 文件函数copy()的菜鸟级问题一个--在线等(急急急) 在PHP中删除数据库记录[菜人问题] _POST传递出错 新手发问?
你把错误全开
这样会有一个undefined const
$a=array("a"=>"a","b"=>"b","c"=>"c","d"=>"d");
echo $a[a],$a['a'],$a["a"];//return aaa
?>
我做的测试值是一样的,表明结果一样。
一家之言!
结果一样,是因为由于a未定义,php把a当前值为"a"的常量,
变成$a["a"],但这样会导致一个神仙说的错误!
$a['a']和$a["a"]是完全一样的,
但是$a['a$a']和$a["a$a"]应该就有区别了
$arr[$x];
$arr['$x'];
$arr["$x"];
这3个的区别
PHP不会解释单引号内的任何东西(当然,单引号本身除外,要用\开头),只把它作纯字符串处理。而PHP却会对双引号内的变量和转义字符进行解释。
以上这个基本常识可以在PHP手册的第十一章(类型)里的《字符串》那节找到。那么,结果就很清楚了。第二个变量,PHP解会查找$arr里索引名为一个美元符号加一个x,也就是索引名为“$x”的单元。
第三个,PHP将会解释双引号内的变量,也就是说,其值和第一个相同。
关于数据索引名有关的东西,可以在PHP手册第十一章的《数组》小节里找到。