teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

加筆修正

2019/05/23 12:57

投稿

退会済みユーザー
answer CHANGED
@@ -44,4 +44,15 @@
44
44
  <a href="http://example.com/${value}">link</a>
45
45
  EOT;
46
46
  ```
47
+ のように書けます。どういうふうに役立つか、
48
+ ```php
49
+ $sql = <<<EOT
50
+ SELECT user_id, user_name, address, email, age
51
+ FROM employees
52
+ WHERE age between {$upper} and {$lower};
53
+ EOT;
54
+ ```
47
- のよう書けます。
55
+ みたいできます。
56
+ SQL文の中でシングルクオートやダブルクォートを使いたくなるので、
57
+ いちいちエスケープ記号をつけたり文字列の連結をして読みにくくするよりも、
58
+ ヒアドキュメントを使うとこんなにラクです。

1

見直し

2019/05/23 12:57

投稿

退会済みユーザー
answer CHANGED
@@ -23,6 +23,10 @@
23
23
  ```
24
24
  文字列と変数と文字列を連結してechoしてますね。
25
25
  見やすさでいったらこちらの書き方が良いかもしれません。
26
+ ```php
27
+ echo '<a href="http://example.com/' . $value . '">link</a>';
28
+ ```
29
+ みたいに隙間を設けたりするかも。密集していると見逃してしまいがちだし。
26
30
 
27
31
  でも、シングルクォートで括った文字列の中でシングルクォートを使いたい場合に困りますよね。
28
32
  ```php
@@ -32,4 +36,12 @@
32
36
  EOT;
33
37
  ```
34
38
  みたいにすることも出来ます。
35
- ヒアドキュメント文字列、ぜひ覚えてください。
39
+ ヒアドキュメント文字列、ぜひ覚えてください。
40
+
41
+ 先の例も
42
+ ```php
43
+ echo <<<EOT
44
+ <a href="http://example.com/${value}">link</a>
45
+ EOT;
46
+ ```
47
+ のように書けます。