刚用到一个由字符串来设定对像属性名的功能。发现大括号的作用真强….

1. 动态设置对象的属性名的使用:
写法一(不能正确设置):

$obj->$string[$key]; //这里只能使用$string的0位置的字符作为属性名值,如:$string = 'string'; $obj->$string[$key] 等同于$obj->s[$key];

写法二(可以正确设置):

$obj->{$string}[$key]; //这里的大括号有点类似于运算中的小括号的作用,即先算大括号里面的内容。但是请注意:

写法三(错误的写法):

$obj->($string)[$key]; // 直接报错!

2. 检测字符串的长度中使用:

$string = 'string www.111cn.net';
    if(isset($string{8})) {
    echo 'Is set!';
    } else {
    echo 'Not set!';
    }

3. 像字符串中使用变量的时候也要用到,如:

echo "{$string}, {$obj->string}";

更多详细内容请查看:http://www.111cn.net/phper/php/56743.htm

PHP中大括号{}用法总结的更多相关文章

  1. PHP中大括号用法

    Php中"{}"大括号的用法总结 在PHP中,大括号“{}”可以起到如下作用: 1.将多个独立语句合并为一个复合语句,例如 if ... else ...中经常如此使用 2.在变量 ...

  2. Javascript中大括号“{}”的多义性

    摘要:本文主要介绍JavaScript中大括号有四种语义作用. JS中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 if( condition ) { //... }else { //.. ...

  3. 解析Javascript中大括号“{}”的多义性

    JS中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 复制代码 代码如下: if( condition ) {   //... }else {   //... } for() {   //. ...

  4. 当局部变量遇上全局变量——extern及花括号用法举例

    请阅读以下代码并说出它的输出结果. #include <stdio.h> ; int foo() { ; { extern int val; printf("val_foo = ...

  5. String.format中大括号的加入方法

    因为相对于string Builder  自己更喜欢 string.format 的形式拼接字符串。 今天在写代码的时候怎么都报错,弄的我很奇怪 最后发现问题出在字符串中出现大括号“{”的问题,我想这 ...

  6. PHP的大括号(花括号{})使用详解

    一.不管什么程序,function name(){}, for(){}, ….这太多了,不说也知道什么用了. 二.$str{4}在字符串的变量的后面跟上{}大括号和中括号[]一样都是把某个字符串变量当 ...

  7. JavaScript小括号、中括号、大括号的多义性

    语义1,函数声明时参数表 func(arg1,arg2){ // ... } 语义2,和一些语句联合使用以达到某些限定作用 // 和for in一起使用 for(var a in obj){ // . ...

  8. php变量什么情况下加大括号{}

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

  9. javascript 大中小括号的区别

    小括号 JavaScript中小括号有五种语义 语义1,函数声明时参数表 function func(arg1,arg2){ // ... } 语义2,和一些语句联合使用以达到某些限定作用 // 和f ...

随机推荐

  1. 【JS】识别浏览器版本及操作平台

    背景: 有这么个需求,需要统计,用户打开网站使用的浏览器,以及操作平台.      实现:     受HTML5Test这个网站的影响,发现它可以实现,获取浏览器以及平台的功能,然后研究代码发现了这个 ...

  2. Effective Objective-C 2.0 Reading Notes

    1. Literal Syntax NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumbe ...

  3. Codeforces Round #306 (Div. 2) E. Brackets in Implications 构造

    E. Brackets in Implications Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/conte ...

  4. h5-4 canvas

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. oc-18-继承

    //Animal.h #import <Foundation/Foundation.h> @interface Animal : NSObject { int _age; // 不写@pu ...

  6. MOGODB REDIS

    http://www.cnblogs.com/huangxincheng/ http://blog.csdn.net/opens_tym/article/details/9832301 http:// ...

  7. 转:关掉Archlinux中烦人的响铃

    http://www.0597seo.com/?p=461 F**K,在Archlinux中,每当在听音乐,声音开得挺大的,忽然在控制台输错了命令,那可恶的该死的警告声猛的一下总是吓的我精神晃晃(这是 ...

  8. Linux / Unix Command: bunzip2--reference

    http://linux.about.com/library/cmd/blcmdl1_bunzip2.htm NAME bzip2, bunzip2 - a block-sorting file co ...

  9. 用PredicateBuilder实现Linq动态拼接查询

    在使用Linq查询的时候,特别是如果你在使用Entiry Framwork,有时会遇到动态查询的情况(客户的查询条件是不固定的拼接查询).我们能想到的第一方案应该是拼接SQL,的确这样是可以达到我们的 ...

  10. MeepoPS——轻量级 Socket 服务

    MeepoPS是Meepo PHP Socket的缩写.旨在提供高效稳定的由纯PHP开发的多进程SocketService. MeepoPS可以轻松构建在线实时聊天,即时游戏,视频流媒体播放,RPC, ...