刚用到一个由字符串来设定对像属性名的功能。发现大括号的作用真强….
1. 动态设置对象的属性名的使用:
写法一(不能正确设置):
$obj->$string[$key]; //这里只能使用$string的0位置的字符作为属性名值,如:$string = 'string'; $obj->$string[$key] 等同于$obj->s[$key];
写法二(可以正确设置):
$obj->{$string}[$key]; //这里的大括号有点类似于运算中的小括号的作用,即先算大括号里面的内容。但是请注意:
写法三(错误的写法):
$obj->($string)[$key]; // 直接报错!
2. 检测字符串的长度中使用:
$string = 'string';
if(isset($string{8})) {
echo 'Is set!';
} else {
echo 'Not set!';
}
3. 像字符串中使用变量的时候也要用到,如:
echo "{$string}, {$obj->string}";