1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

びっくり。PHPでの文字列の連結でダブルクオーテーションを使うと...

Last updated at Posted at 2020-04-27

##この記事を書いた理由
現在、PHP教材を執筆していて初めて知ったことがあったので残しておこうと思います。

##PHPでの文字列+変数の出力について
例えば、変数$name"yamada"という文字列を代入してHello!yamadaという文字列を出力するケースを試します。

sample.php
<?php

$name = "yamada";

echo $name;

//実行結果:yamada


echo "Hello!".$name;

//実行結果:Hello!yamada


echo 'Hello!$name';

//実行結果:Hello$name


echo "Hello!$name";

//実行結果:Hello!yamada


echo "Hello"$name;

//実行結果:エラー

?>

上記の実行結果を見ていただければわかると思いますが、
文字列+変数の出力の方法で一般的に知られているのは2つ目の

<?php

$name = "yamada";

echo "Hello".$name;

?>

だと思います。

echo "文字列".(変数);

の形ですね。

ですが、もう一つ、4番目の方法でも出力可能ということを初めて知りました。

<?php

$name = "yamada";

echo "Hello$name";

?>

下記のようにダブルクオーテーションで囲むと連結するために必要な.がなくても出力されるんですね。
びっくり。

echo "文字列(変数)";

ちなみにシングルクオーテーションの場合は上手く出力できません。

調べてみると、シングルクオーテーションとダブルクオーテーションには実が違いがあリました。

シングルクオーテーション(' '):完全にそのまま利用する
ダブルクオーテーション(" "):評価できるものは評価する

上記の通り、ダブルクオーテーションの場合は$name変数であると評価されて変数の値が適用されたと言えます。

いやー、びっくりしました。

##まとめ

PHPで文字列を出力するには2つの方法がありました。

ただ、一般的に多く使われているのは

echo "文字列".(変数);

こちらですので、こちらを使うのが良いかなと思います。
僕もこちらを普段から使っています。

とまあ、こんな感じで記事は以上です。

最後まで読んでいただきありがとうございました!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?