php字符串中有变量,PHP数据类型——String字符串中的变量解析

在前面的文章中,我们介绍了“PHP数据类型——String字符串”。在定义字符串时,当字符串用双引号或 heredoc 结构定义时,字符串中的变量将会被解析。

PHP在字符串中使用变量时,可以使用以下2种语法规则:简单语法

复杂语法

简单语法

简单的语法规则是最常用和最方便的,它可以用最少的代码在一个 string 中嵌入一个变量,一个 array 的值,或一个 object 的属性。

当 PHP 解析器遇到一个美元符号($)时,它会和其它很多解析器一样,去组合尽量多的标识以形成一个合法的变量名。可以用花括号来明确变量名的界线。<?php $name='neil';echo"My name is$name.".PHP_EOL;

以上代码字符串中的变量将被解析,输出以下结果:My name is neil .

同样,一个 array 索引或一个 object 属性也可被解析。数组索引要用方括号(])来表示索引结束的边界,对象属性则是和上述的变量规则相同。<?php //字符串中使用数组array$names=array("neil","jack","name"=>"tom");echo"First name is$names[0].".'
';echo"Second name is$names[1].".'
';echo"Last name is$names[name].".'
';//字符串中使用对象classpeople{public$neil="neil";}$people=newpeople();echo"the name is$people->neil.";

以上代码只是简单的使用$将变量引入字符串,如果想要表达更复杂的结构,可以使用复杂语法。

复杂(花括号)语法

复杂规则语法的显著标记是用花括号包围的表达式。

语法不是因为其语法复杂而得名,而是因为它可以使用复杂的表达式。任何具有 string 表达的标量变量,数组元素或对象属性都可使用此语法。只需简单地像在 string 以外的地方那样写出表达式,然后用花括号 { 和 } 把它括起来即可。

注意:

由于 { 无法被转义,只有 $ 紧挨着 { 时才会被识别。可以用 {\$ 来表达 {$。

下面的示例可以更好的解释:<?php $great='fantastic';//无效,输出: This is { fantastic}echo"This is {$great}";//有效,输出:This is fantasticecho"This is{$great}";//有效,只有通过花括号语法才能正确解析带引号的键名echo"This works:{$arr['key']}";//有效echo"This works:{$arr[4][3]}";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值