关于echo出字符串的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-06 20:44:33
オリジナル
1287 人が閲覧しました

假如字符串有一个变量,需要输出变量的值。

<?php
$a=' hello';
echo "my name  is $a";
ログイン後にコピー
ログイン後にコピー

还有一种方式:

$a=' hello';
echo "my name  is {$a}";
ログイン後にコピー
ログイン後にコピー

有时候在动态使用变量名的时候也会有这两种方式:
$this->{$property} = $argument或者$this->$property
这两种效果都是一样的,但是到底有啥区别呢?

回复内容:

假如字符串有一个变量,需要输出变量的值。

<?php
$a=' hello';
echo "my name  is $a";
ログイン後にコピー
ログイン後にコピー

还有一种方式:

$a=' hello';
echo "my name  is {$a}";
ログイン後にコピー
ログイン後にコピー

有时候在动态使用变量名的时候也会有这两种方式:
$this->{$property} = $argument或者$this->$property
这两种效果都是一样的,但是到底有啥区别呢?

没什么太大的区别,用花括号只是方便PHP解析的时候认准变量而已..比如你可以试试:

<code>$a = "hello";
echo "$aworld";
echo "{$a}world";
</code>
ログイン後にコピー

也就是界定变量的,当一个变量名是另一个变量名前面部分的时候加{}才能得到你想要的

$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
ログイン後にコピー

在用echo的时候,大括号{}只能在双引号中使用

和bash中类似,区分变量和字符串

//只是为了区别变量而已,如下:
$a = "he";
//如果这样,你的变量$allo是不存在的
echo "$allo";
//所以,需要加一个定界符来加区分
echo "{$a}llo";
//echo  hello
//这种情况只在双引号后中有用。如果你需要打印的变量前面没有英文或容易混淆变量的情况下可以不用的。
ログイン後にコピー
関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート