php中大括号的正确使用方法意义

PHP 变量后面加上一个大括号{},里面填上数字,就是指 PHP 变量相应序号的字符。 
例如: 
$str = 'hello'; 
echo $str{0}; // 输出为 h 
echo $str{1}; // 输出为 e 

如果要检查某个字符串是否满足多少长度,可以考虑用这种大括号(花括号)加 isset 的方式替代 strlen 函数,因为 isset 是语言结构,strlen 是函数,所以使用 isset 比使用 strlen 效率更高。 
比如判断一个字符串的长度是否小于 5: 

if ( !isset ( $str{5} ) ) 就比 if ( strlen ( $str ) < 5 ) 好。 

下面几个比较能说明原因的解释是: 
一、表示{}里面的是一个变量 ,执行时按照变量来处理 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了。 


echo "${str}_2010"; 
可见,如果没有大括号,则可能把$str_2010整个作为一个变量来处理。当然,这样的写法,只能用在双引号中,单引号里面是不会执行变量替换的。 

二、变量使用大括号的异同 

 
<?php 
$test='123'; 
echo $test; 
echo "${test}"; 
echo "{$test}"; 
echo ${test}.'_'; 
echo ${test}; 
?> 

你会看到如下的结果: 


引用 
123123123 
Notice: Use of undefined constant test - assumed 'test' in /var/www/html/phpcrm/testpages/variables.php on line 6 
123_ 
Notice: Use of undefined constant test - assumed 'test' in /var/www/html/phpcrm/testpages/variables.php on line 7 
123 
这说明什么? 
1、可接受的写法 
从输出结果中“123123123”,表明前面三行的echo语句都是正常的。

2、不正确的写法 
网上不少资料介绍,${var}与{$var}的作用是一样的。但是,如果你再加入一句: 

echo {$test}; 
那么,你将会得到以下错误信息: 


引用 
Parse error: syntax error, unexpected '{' in /var/www/html/phpcrm/testpages/variables.php on line 8 
这可不是Notice警告,是错误,因解析问题,程序将不能正常运行。 

三、总结 
结合前面两部分的内容,我相信,对于变量引用时使用大括号,应遵循以下原则: 


引用 
1、正确的写法为:${var} 的形式; 
2、与双引号一同使用; 
3、根据需表达的意思进行定界。 
所以,最后我把switch一行改为: 

switch ("${action}_${child}") { 
即不再出现Notice警告。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值