本文目录一览:
php花括号,大括号{}几种使用方法的分析
一、在函数或流程控制语句中的使用
例如:function test(){}、if(){}、foreach(){}
在函数中常用的方法就是保持数据在作用域范围的执行
二、$str{4}在字符串的变量的后面跟上{}大括号或者中括号[],里面填写了数字,这里是吧字符串变量当成数组处理。举个例子如下:
?php
$str='phpernote.com';
echo $str{0}; // 输出 p
echo $str[1]; // 输出 h
$str='000';
$str{0}='1';
echo $str; // 输出 100
注意:利用这一特性可用来检查某个字符串是否满足多少长度,使用 isset 的方式替代 strlen 函数,因为 isset 是语言结构,strlen 是函数,所以使用 isset 比使用 strlen 效率更高。比如判断一个字符串的长度是否小于 5,如下:
if(!isset($str{5})) 比 if(strlen($str)5) 更好。
三、对于可变变量使用大括号,比如:{$val},这时候大括号就是告诉PHP,括起来的部分要当成变量处理。如下例子:
?php
$array=array('www','name'='phpernote','com');
echo "$array['name']";//用此句会报语法错误
echo "{$array['name']}";//此句正常,大括号内的字符将作为变量来处理
注意:${$a[1]} 与${$a}[1] 是完全不同的:
${$a[1]} 这里$a[1]是一个变量;
${$a}[1] 这里$a是一个变量;
这种写法的好处就是在字符串中引用变量的时候,这样就可以不使用.运算符,从而减少代码的输入量。
PHP这里这个花括号是干什么的?
在PHP的双引号字符串里面,可以使用变量,有时候变量与外面的内容可能不好分辨,此时需要使用话括号,举例:
$id=123;
echo "id=$id";//输出:id=123
echo "id=$idabc";//输出:id=
echo "id={$id}abc";//输出:id=123abc
注意第二个输出语句,会导致$idabc变量不存在的提示,需要用第三个语句的方式增加花括号。
此外,例子中第一个输出语句没有使用花括号,因为不会产生起义,你的语句也是一样的,可不用花括号。
php变量什么情况下加大括号{}
加{}有时候是为了防止变量名和后面的字符串连在一起嘛例如{$cid}dd如果cid=aa那么{$cid}dd=aadd
不加的话你自己看看了$ciddd,岂不变成了ciddd变量了~~
PHP变量放在大括号里面的含义
//Thefollowingisokayasit'sinsideastring.Constantsarenot
//lookedforwithinstringssonoE_NOTICEerrorhereprint"Hello$arr[fruit]";//Helloapple
//Withoneexception,bracessurroundingarrayswithinstrings
//allowsconstantstobelookedforprint"Hello{$arr[fruit]}";//Hellocarrotprint"Hello{$arr['fruit']}";//Helloapple
下面几个比较能说明原因的解释是:
表示{}里面的是一个变量
,执行时按照变量来处理
在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了。
其实输出那块是等同于print
"hello
".$arr['fruit'];
PHP:
字符串变量中大括号(花括号{})的作用
PHP
变量后面加上一个大括号{},里面填上数字,就是指
PHP
变量相应序号的字符。
例如:$str
=
'hello';
echo
$str{0};
//
输出为
h
echo
$str{1};
//
输出为
e
如果要检查某个字符串是否满足多少长度,可以考虑用这种大括号(花括号)加
isset
的方式替代
strlen
函数,因为
isset
是语言结构,strlen
是函数,所以使用
isset
比使用
strlen
效率更高。
比如判断一个字符串的长度是否小于
5:
PHP字符串外面要加花括号吗、?
$str 外围 包一个{} 是为了防止变量名和后面的字符串连在一起:
eg:
?php
$str = 'Hello , PHP';
$strbb = 'Hello , Java';
$query1 = " insert into t1(into) values('$strbb')";
$query2 = " insert into t1(into) values('{$str}bb')";
echo $query1 , PHP_EOL;
// 输出 insert into t1(into) values('Hello , Java')
echo $query2 , PHP_EOL;
// 输出 insert into t1(into) values('Hello , PHPbb')