下面几个比较能说明原因的解释是:

  1. 表示{}里面的是一个变量  ,执行时按照变量来处理
  2. 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了。

其实输出那块是等同于print   "hello   ".$arr['fruit'];

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 ) 好。

转载于:https://www.cnblogs.com/focai/p/3944133.html

php变量什么情况下加大括号{}相关推荐

  1. 如何在不引入第三个变量的情况下互换两个变量的值

    如何在不引入第三个变量的情况下互换两个变量的值 算术运算 异或运算 解构 总结 例:x = 4:y = 5.如何在不引入第三个变量的情况下互换x与y的值? 算术运算 第一种方法是加法. x = x + ...

  2. php在双引号中输出变量要加大括号,php中输出变量加大括号{}作用_PHP教程

    php输出变量加大括号,这是什么写法?看下面一段代码: 代码如下 header("Content-Type:text/html; charset=utf-8"); $test=&q ...

  3. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  4. Block 在不同情况下的变量存储区域

    2019独角兽企业重金招聘Python工程师标准>>> 一.如果只使用全局或静态变量或不使用外部变量, 那么Block块的代码会存储在全局区; 二.如果使用了外部变量, 在ARC中, ...

  5. ssis什么情况下用到变量_了解SSIS内存使用情况

    ssis什么情况下用到变量 In this article, I am going to explain in detail about SSIS memory usage and how can w ...

  6. 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)

    下面首先来看一个问题. 假设存在两个int型变量a和b,那么如何实现两个变量值的交换呢. 通常我们的做法,也是最容易想到的做法就是通过定义一个第三方变量,然后借助于该变量来实现变量值的交换. 方法一( ...

  7. 【C++】什么情况下会产生临时变量

    临时变量是只在调用期间有效,具有常性的一种变量. 一.值传递 在返回值以值传递(传值和传指针)的形式返回时,会生成临时变量. int sum(int a,int b) {return a + b; } ...

  8. java 基本类型 不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  9. element-ui 按需加载情况下覆盖预置scss变量

    element-ui的默认主题theme-chalk是通过scss预编译的,可以通过修改scss变量达到修改主题的目的. 在项目中改变 SCSS 变量 Element 的 theme-chalk 使用 ...

最新文章

  1. 编程之美初赛第一场--焦距
  2. 解决编译不通过Could not find support-compat.aar (com.android.support:support-compat:26.0.0).
  3. python3 线程池 ThreadPoolExecutor 简介
  4. SpringMVC 简单拦截器配置
  5. mysql字段简索引_Mysql索引优化攻略(全)
  6. ​搜出来的文本:从文本生成到搜索采样
  7. tomcat7.0.42如何设置mysql数据库连接池
  8. 【CodeForces - 485C】Bits (二进制相关,数学,贪心)
  9. python入门教程(非常详细)-Python入门教程:超详细1小时学会Python
  10. 内容编辑器在MOSS中的应用
  11. 美国要贩卖网民隐私:最大成人网站出手反击
  12. 基于MD5计算的未来网络游戏无限信息提取技术
  13. 【Qt】解决 “由于找不到Qt5Cored.dll,无法继续执行代码”(亲测有效)
  14. Spring Data Jpa 复合主键
  15. SKETCH 切出背景透明的图标
  16. ubutnu18.04/20.04 接入HDMI显示器后,在 root用户下不能播放声音之解决方案
  17. h5锁屏提醒-锁横屏和锁竖屏
  18. 互联网金融想革中国金融体系的命?
  19. 电影天堂React Native 客户端V2.0发布
  20. C#委托和事件的概念

热门文章

  1. ecshop在PHP 5.4以上版本各种错误问题处理
  2. bzoj2561: 最小生成树
  3. Linux 下升级 python2 到python3
  4. impdp导入数据时出现BUG
  5. Yahoo 其实比你想的更糟糕!
  6. iOS开发之 [NSNull length]:unrecognized selector sent
  7. 如何从技术牛人升阶为管理牛人
  8. TCP协议属性设置之SO_REUSEADDR属性
  9. android 字符串的拆分
  10. 【Gamma】Scrum Meeting 9