欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Php中"{}"大括号的用法总结

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

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

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

  3、用于指示字符串变量中的单个字符(下标从0开始),例如

  $my_str="1234"; 

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




  此用法为PHP 5之后的特性,用于消除使用中括号引起的歧义。 

  4,界定变量的名称 

  

    $var='sky'; 

    echo "{$var}boy"; 


  

复制代码
<?php 

  $count = 3 ; 

  echo "Count: $count"; 

  echo "Count: {$count}"; 

  //上面这两句结果是一样的 

?> 
复制代码


  PHP分析双引号中的数据是否含有变量(并解析它的值),当用双引号时,{}用来界定变量的界限。 

  比如: 

  

$***="man" 

echo "Iama{$***}youknow" 


  PHP解析出$***,

  如果不用php就会解析$***youknow 

  可他不存在 

  输出数组:

  echo "The array element is {$array[element]}."; 

  echo "The array element is {$array->element}"

来自 https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/12/08/2281155.html


php中大括号的用法和意义{}


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

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

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

$my_str="1234";

$my_str{1}='5';  //现在 $my_str 内容为 '1534'
  • 此用法为PHP5之后的特性,用于消除使用中括号引起的歧义。

如:
$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.          

  5.   //   With   one   exception,   braces   surrounding   arrays   within   strings        

  6.   //   allows   constants   to   be   looked   for        

  7.   print   "Hello   {$arr[fruit]}";         //   Hello   carrot        

  8.   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/><br/><br/><br/><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};


来自  https://blog.csdn.net/yboker/article/details/8536304

普通分类: