日期:2011-07-03  浏览次数:20472 次

php输出变量加大括号,这是什么写法?看下面一段代码:
[php]  
<?php  
header("Content-Type:text/html; charset=utf-8");  
$test="1变量1";  
//echo "前面有字符串aa ".$test." bb后面字符串";  
echo "前面有字符串aa {$test} bb后面字符串";  
?>  
 
可以看出php输出变量加大括号同使用.运算符输出变量字符串效果是一样,总结出下面3点以帮助理解php输出变量加大括号{}的作用:
 
1. 表示{}里面的是一个变量  ,执行时按照变量来处理;
 
2. 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了;
 
3. 防止变量名和后面的字符串连在一起。
附:
字符串变量中大括号{}的作用:
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 ) 好。