假如字符串有一个变量,需要输出变量的值。
<code class="lang-php"><?php $a=' hello'; echo "my name is $a"; </code></code>
还有一种方式:
<code class="lang-php">$a=' hello'; echo "my name is {$a}"; </code>
有时候在动态使用变量名的时候也会有这两种方式:$this->{$property} = $argument
或者$this->$property
这两种效果都是一样的,但是到底有啥区别呢?
假如字符串有一个变量,需要输出变量的值。
<code class="lang-php"><?php $a=' hello'; echo "my name is $a"; </code></code>
还有一种方式:
<code class="lang-php">$a=' hello'; echo "my name is {$a}"; </code>
有时候在动态使用变量名的时候也会有这两种方式:$this->{$property} = $argument
或者$this->$property
这两种效果都是一样的,但是到底有啥区别呢?
没什么太大的区别,用花括号只是方便PHP解析的时候认准变量而已..比如你可以试试:
<code>$a = "hello"; echo "$aworld"; echo "{$a}world"; </code>
也就是界定变量的,当一个变量名是另一个变量名前面部分的时候加{}才能得到你想要的
<code class="lang-php">$a='hello '; $aword=' word'; echo "my name is $aword"; //my name is word echo "<br>"; echo "my name is {$a}word"; //my name is hello word </code>
在用echo的时候,大括号{}只能在双引号中使用
和bash中类似,区分变量和字符串
<code class="lang-php">//只是为了区别变量而已,如下: $a = "he"; //如果这样,你的变量$allo是不存在的 echo "$allo"; //所以,需要加一个定界符来加区分 echo "{$a}llo"; //echo hello //这种情况只在双引号后中有用。如果你需要打印的变量前面没有英文或容易混淆变量的情况下可以不用的。 </code>