2016-08-18 5 views
0

私はこの分野の知識を評価するためにphpに関するテストを受けなければなりませんでした。この言語の初心者として、かなりかわいい質問がありました。

これらのうちの1つは、echo '{$x}';の出力は何ですか?関数コールの外でこの種のブラケットは見たことがないので、私は分かりませんでした。

教えていただけますか?

+5

あなたが一重引用符を使用しているので、それは '{$ x}'をエコーし​​ます。 – Daan

+4

[チェックアウト](http://stackoverflow.com/questions/2596837/curly-braces-in-string-in-php) –

+1

シングルクォートされた文字列とダブルクォートされた文字列の違いをチェックしてください[PHP Dcs] http://www.php.net/manual/en/language.types.string.php) –

答えて

2

あなたがダブルとシングル引用符の間にどのような違いを知っているかどうかを確認するために、それはあなたがPHPの文字列にするために使用されているカーリー何ブレースを知ってかどうかを確認するために最初に、トリックの質問だったように、思える

$name = "bob"; 
echo "hello $name"; // hello bob 
echo 'hello $name'; // hello $name 

私は、彼らはあなたが文字列内の変数を分離し、与えるために使用されている中括弧を、見るであろうと仮定した推測している:単一引用符が評価されず、二重引用符があるPHPの文字列、例えば中その答えは引用符を見ずに:

$place = 3; 
echo "you are {$place}rd in the line"; // you are 3rd in the line 
echo "you are $placerd in the line"; // error, $placerd is not defined 
echo 'you are {$place}rd in the line'; // you are {$place}rd in the line 
+0

だから、あなたは{$ place}の行にある ''は ''と同じです。あなたは '' $ place。 –

+0

出力はまったく同じです。中括弧は、二重引用符文字列内のPHP変数を分離する(単離する)ために使用されるので、変数( '$ place')と文字列の' rd "部分 –

1

あなたは、単一引用符(")を使用 - このシナリオのように:echo '{$x}';、変数$xは、どのような方法で影響を受けませんが。これは、一重引用符内のすべてが文字列として解釈され、echoエコーバック逐語と解釈されることを意味します。 しかし、一重引用符ではなく二重引用符を使用した場合は、echo "{$x}";となり、結果として$xという値が得られ、結果はechoとなります。詳細については、Documentationを参照してください。

関連する問題