美文网首页
在PHP中,大括号“{}”的意义与作用

在PHP中,大括号“{}”的意义与作用

作者: 亚讯 | 来源:发表于2019-03-13 21:32 被阅读0次

在PHP中,大括号“{}”可以起到如下作用:

  • 将多个独立语句合并为一个复合语句,例如 if ... else ...中经常如此使用

  • 在变量间接引用中进行定界,避免歧义。例如 {my_var[8]}与{my_var}[8]的区分

  • 用于指示字符串变量中的单个字符(下标从0开始),例如
    $my_str="1234";

    my_str{1}='5'; //现在my_str 内容为 '1534'
    如:

sql = "insert into article(`channel_id`,`title`,`detail`,`pub_time`) values('{cid}','{title}','{detail}','{$time}');";
不加似乎也可以,加{}是什么意思呢?
还有字段名 为什么要以``包括呢?

至少便于阅读嘛~~~''是insert into语句要求的,因为字符串要成对出现嘛

加{}有时候是为了防止变量名和后面的字符串连在一起嘛

例如
{$cid}dd
如果cid=aa
那么{$cid}dd=aadd
不加的话你自己看看了$ciddd,岂不变成了ciddd变量了~~
  1. // The following is okay as it's inside a string. Constants are not
  2. // looked for within strings so no E_NOTICE error here
  3. print "Hello $arr[fruit]"; // Hello apple
  4. // With one exception, braces surrounding arrays within strings
  5. // allows constants to be looked for
  6. print "Hello {$arr[fruit]}"; // Hello carrot
  7. print "Hello {$arr['fruit']}"; // Hello apple

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

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

  1. 表示{}里面的是一个变量 ,执行时按照变量来处理
  2. 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了。 其实输出那块是等同于print "hello ".$arr['fruit'];

php中大括号的作用,如下:

一、不管什么程序,function name(){}, for(){},….这太多了,不说也知道什么用了。

二、$str{4}在字符串的变量的后面跟上{}刚大括号和中括号一样都是把某个字符串变量当成数组处理

三、{$val},这时候大括号起的作用就是,告诉PHP,括起来的要当成变量处理。

$arr=array(0=>123,'name'=>'小猪');

foreach(array as k=>$v){

echo "select * from blog_blogs where blog_tags like '%{arr[k]}%'order by blog_id"; //加一个大括号只是将作为变量的标志符

}

echo '<br/ >




<br/ >';

foreach(array as k=>$v){

echo "select * from blog_blogs where blog_tags like'%{{arr[k]}}%' order by blog_id"; //加两个大括号,外层的将作为普通的字符

}

//用大括号来区分变量

//echo "$arr['name']";//用此句会报语法错误

echo "{$arr['name']}";//此句正常,大括号内的字符将作为变量来处理

//$str{4}在字符串的变量的后面跟上{}大括号和中括号一样都是把某个字符串变量当成数组处理

$str = 'abcdefg';

echo $str{4};

相关文章

  • 在PHP中,大括号“{}”的意义与作用

    在PHP中,大括号“{}”可以起到如下作用: 将多个独立语句合并为一个复合语句,例如 if ... else .....

  • 我的JS静态作用域链笔记 与经典面试题目

    不是函数的大括号,是没有对变量的作用域限制的。 即使在for里,大括号也对变量没有作用域限制。 全局作用域(全局变...

  • ts 中 import 大括号的意义

    // B.js // A.js 一个例子就能秒懂。

  • js闭包学习的一点体会

    什么是闭包? 在谈闭包之前,先要了解一下作用域的问题。在js中,块级作用域(大括号中的领域)是不存在的,在块级作用...

  • PHP magic_quotes_gpc的详细使用方法

    php中的magic_quotes_gpc是配置在php.ini中的,他的作用类似addslashes(),就是对...

  • php入门-- 超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。PHP中预...

  • g2o CurveFittingEdge

    构造函数与析构函数:C++大括号{}有作用于,在作用域范围结束时,调用结构体的析构函数,构造函数是与类同名人那个函...

  • Vue核心知识-Vue的原生指令

    v-text 标签中显示的内容。 与双大括号写法类似,区别是没有双大括号灵活,如 ,双大括号 Text: {{t...

  • Java虚拟机内存

    五个部分 1、栈(stack) 存放方法中的局部变量,方法在栈内存中运行。局部变量:方法中的参数作用域:大括号中的...

  • es新特性整理

    es新特性整理 let 用来申明变量的 js中以前只有全局作用域和函数作用域,es6中新增了块级作用域。大括号之间...

网友评论

      本文标题:在PHP中,大括号“{}”的意义与作用

      本文链接:https://www.haomeiwen.com/subject/znsxmqtx.html