首页 > 编程语言 >在PHP中,大括号“{}”的意义与作用

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

时间:2022-09-07 10:44:46浏览次数:69  
标签:变量 意义 echo blog str 字符串 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变量了~~

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

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

表示{}里面的是一个变量 ,执行时按照变量来处理
在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了。 其实输出那块是等同于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};

标签:变量,意义,echo,blog,str,字符串,PHP,大括号
From: https://www.cnblogs.com/obeigong/p/16664413.html

相关文章

  • 同样的项目vscode 内存 93M,phpstorm 2个G
         vscodecmd+shift+p 把shellcommand添加code在环境变量中,然后可以用code.打开当前文件安装 Materialicon插件可以显示文件夹的图标......
  • 跨域的意义
      目前知道,跨域有三种解决办法,第一jsonp,这个感觉很麻烦,不学。第二,cros,这个主要是后端服务器开始accessControlAlloworigin,它开启几个不同源的http地址,那么那几个地......
  • thinkphp6---原生SQL查询
    最近开发项目,由于要考虑大数据的处理,对比了一下,使用Thinkphp执行SQL语句的效率,要比使用模型来做大数据的更新,效率要高很多。总结:复杂的运算,以及对大数据的查询,更新,建议使......
  • php8.0源码编译安装mysqli拓展
    将开发环境web项目上传到CentOS8.0云服务器上后,调用PHP文件报500错误,经排查php环境中不存在mysqli拓展,导致无法使用mysqli_connect()函数;查看phpinfo()页面证实猜想;原因可......
  • php 中 global的问题
    在教学中就跟做软件测试一样,分发现很多新大陆,因为你不停的去做各种尝试,也因为书本或者是教程或者是帮助文档其实说的也不是太清楚,以前也忘了总结,现在就对今天发现的这个问......
  • Docker基础知识 (9) - 使用 Docker 部署 Nginx + PHP + MariaDB(MySQL)并配置 phpMyAdmi
    1.部署PHP   1)部署环境       IP地址(本地测试环境):192.168.0.10       操作系统:LinuxCentOS7.9           Docker版本:20.10.7......
  • phpstudy搭建php环境
    原文链接:phpstudy搭建php环境–每天进步一点点(longkui.site)本文借助phpstudy搭建基础的php环境,让php配置不在麻烦。首先,从下载phpstudy: 小皮面板(phpstudy)–让......
  • vscode+phpstudy配置php环境
    原文链接:vscode+phpstudy配置php环境–每天进步一点点(longkui.site)上一篇文章中借助phpstudy搭建了php环境,并成功新建了一个网站。这篇文章简单介绍一下,如何借助vsco......
  • 模意义下的数和运算
    模意义下的数和运算一共有12个苹果,平分给5个小朋友,最后会剩下几个苹果?12➗5=2......2第一个2叫商,可以用12/5得到,第二个2叫余数,可以用12%5得到,%叫做模,也就是mod定义......
  • nginx 配置隐藏index.php效果
    nginx配置隐藏index.php效果-TBHacker-博客园 https://www.cnblogs.com/jiqing9006/p/9582732.htmlnginx配置隐藏index.php效果 location/{i......