Help us understand the problem. What is going on with this article?

PHP ~ちょっと忘れがちな基礎文法集~

概要

ちょっと忘れがちな基礎文法をまとめました!
随時、更新していきます。

ファイルの初めに書くやつ<?P ?>

sample1.php
<?php

// htmlを埋め込む時は, 閉じ ?> が必要

?>
sample2.php
<?php

// htmlを埋め込まない時は、閉じ ?> は必要ない!ルールです。

文字列に変数を埋め込む時

文字列に変数を埋め込む時、「' '」と「" "」とでは埋め込み方が違う!

sample1.php「' '」の場合 : 「.」ドットを変数の前につける

sample1.php
<?php

$animal = 'ねこ';

echo '野生の' . $animal . PHP_EOL;        // . PHP_EOL(改行)

// 野生のねこ

sample2.php「" "」の場合 : 文字列の中に変数をそのまま埋め込む事ができる

sample2.php
<?php

$animal = 'ねこ';

echo "野生の$animal" . PHP_EOL;

// 野生のねこ

改行や字下げを保持して長めのテキストを表現する時

長い文字列を変数に代入する場合、 nowdoc または heredoc を用いて記述します。

nowdoc(なうドキュメント):

sample01.php
<?php
$sample = <<<'ST'
こんにちは!
  今日は私の愛猫、タマのお誕生日です。
よかったら一緒にお祝いしませんか。
  お待ちしております!
ST;

echo $sample;

/* 
こんにちは!
  今日は私の愛猫、タマのお誕生日です。
よかったら一緒にお祝いしませんか。
  お待ちしております!
*/

$sample = <<<'ST' の ST 部分は、終端記号と良い、好きな名前で大丈夫です。
今回は、sample.php に textを記述しているので、頭文字を取ってSTとしています。わかりやすいものでok!

そして、変数を埋め込んだ場合:

sample01.php
$animal = 'タマ';

$sample = <<<'ST'
こんにちは!
  今日は私の愛猫、$animal のお誕生日です。
よかったら一緒にお祝いしませんか。
  お待ちしております!
ST;

echo $sample;

/* 
こんにちは!
  今日は私の愛猫、$animal のお誕生日です。
よかったら一緒にお祝いしませんか。
  お待ちしております!
*/

このように変数を埋め込んでも変数展開されません。。。泣

そんな時は、、、!!!

「heredoc」を使います!!

heredoc(ひあドキュメント):

sample02.php
<?php

$animal = 'タマ';

$sample = <<< ST
こんにちは
  今日は私の愛猫$animal のお誕生日です
よかったら一緒にお祝いしませんか
  お待ちしております
ST;

echo $sample;

/* 
こんにちは!
  今日は私の愛猫、 タマ のお誕生日です。
よかったら一緒にお祝いしませんか。
  お待ちしております!
*/

無事、変数展開されましたね^^
heredoc は $sample = <<< ST の STの部分に「' '」「" "」はつけません!

・nowdoc 変数展開しない
・heredoc 変数展開する

~随時更新~

Miiaaa
Pythonエンジニアを経て、ruby、phpエンジニアとして今活動中。
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした