Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?

More than 5 years have passed since last update.

@ukisoft

PHPの文字列

はじめまして、ukisoftです。
サーバって何ですか?の状態から勉強を始めて、もうすぐ1年になります。
手当たり次第勉強して、あまり成長したような気がしないので、始めて3ヶ月目くらいのPHPに集中してリソース投下することに決めました!
というわけで、色々晒して、自分の成長の加速度上げたいと思ってます(・ω<)

初心者なので、まずは文字列で知ったことをまとめます。

PHPでは、文字列を、

$str = 'どうも、僕です。';

こんな感じで生成できるのですけど、

$name = 'ukisoft';
$str = "どうも、$nameです";

と書くことで、変数を展開してくれます。
ただ、上記は"$nameです"が変数名と解釈されるので上手く動きません。
で、ここからが知らなかったことなのですけど、なんと、

$name = 'ukisoft';
$str = "どうも、{$name}です"; // どうも、ukisoftです

というように、{}で囲むと"$name"と解釈してくれるのです!
ちなみに、

$str = "{}";

は、セフセフ。

$str = "{$}";

は、アウアウです。

あと、ヒアドキュメントってありますよね。
僕、ほとんど使ったことないのですが、少しだけハマったので、共有しておきます。

$str = <<<EOL
どうも、僕です
EOL;
var_dump($str);

これだと動くのですけど、

var_dump(<<<EOL
どうも、僕です
EOL;
);

これだとエラー出ちゃいます。
なんでかなーと調べたところ、後ろのEOLの後のセミコロンが不要でした。

var_dump(<<<EOL
どうも、僕です
EOL
); // ok

ちなみに、これもダメです。

var_dump(<<<EOL
どうも、僕です
EOL);
3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What is going on with this article?