在php中使用大括号基本有如下三种情况,下面本篇文章对这三种使用情况做一个总结。
一、function name(){}, for(){}等等这种情况就不多说了,不说也知道是做什么用的了。
二、$str{4}在字符串的变量的后面跟上{}大括号或者中括号[],里面填写了数字,这里是吧字符串变量当成数组处理。举个例子如下:
<?php $str='hh.hhsy.cc'; echo $str{0}; // 输出 p echo $str[1]; // 输出 h $str='000'; $str{0}='1'; echo $str; // 输出 100
注意:利用这一特性可用来检查某个字符串是否满足多少长度,使用 isset 的方式替代 strlen 函数,因为 isset 是语言结构,strlen 是函数,所以使用 isset 比使用 strlen 效率更高。比如判断一个字符串的长度是否小于 5,如下:
if(!isset($str{5})) 比 if(strlen($str)<5) 更好。
三、对于可变变量使用大括号,比如:{$val},这时候大括号就是告诉PHP,括起来的部分要当成变量处理。如下例子:
<?php $array=array('www','name'=>'phpernote','com'); echo "$array['name']";//用此句会报语法错误 echo "{$array['name']}";//此句正常,大括号内的字符将作为变量来处理
注意:${$a[1]} 与${$a}[1] 是完全不同的:
${$a[1]} 这里$a[1]是一个变量;
${$a}[1] 这里$a是一个变量;
这种写法的好处就是在字符串中引用变量的时候,这样就可以不使用.运算符,从而减少代码的输入量。