PHPで文字列を定義したり表示してみましょう。
文字列を扱う感覚をつかんでほしいので、さらっと読んでくれれば良いと思います。
目次
文字列の定義
PHPで文字列を扱うときは、ダブルクォーテーション「”文字列”」で囲みます。
シングルクォーテーション「’文字列’」で囲んで定義することもできます。
<?php // ダブルクォーテーションで定義 $value = "バナナ"; echo $value; // シングルクォーテーションで定義 $value = 'イチゴ'; echo $value; ?>
通常文字としてクォーテーションを使用する
通常文字としてクォーテーションを使用する場合、ダブルクォーテーションとシングルクォーテーションを混在させたりエスケープしたりします。
使う場面として、aタグhrefなどの属性があるHTMLタグを出力するなどがあります。
文章だけではわかりずらいので、ソースコードで表します。
<?php // ダブルクォーテーションを通常文字として扱うため、シングルクォーテーションで囲む $tag = '<a href="http://localhost">リンクテキスト</a>'; echo $tag; ?>
aタグ内のhref属性URLをダブルクォーテーションで囲んであげる必要があるため、文字列自体はシングルクォーテーションで囲んであげることでリンクテキストを文字列定義することができます。
ブラウザ表示すると次のようにリンク表示されます。

ちなみに「\(円マーク)」をダブルクォーテーションの左隣に記載してエスケープすれば、ダブルクォーテーションだけで定義することも可能です。
<?php // \でエスケープすれば、ダブルクォーテーションだけの定義はできる $tag = "<a href=\"http://localhost\">リンクテキスト</a>"; echo $tag; ?>
複数人で開発しているときは、どちらかに統一するようにしましょう。
文字列内で変数を使用する
ダブルクォーテーション、シングルクォーテーションで変数の扱い方が変わります。
ダブルクォーテーションの場合
ダブルクォーテーションで囲んだ中に、変数を{}で括って書くことができます。
画面出力するときに、文字を動的に変えたい場合などに使用します。
次のような感じで書けます。
<?php $value = "バナナ"; // 文字列内で、{}で括って変数を使用できる echo "あまい{$value}が食べたい"; ?>
実行結果:

シングルクォーテーションの場合
シングルクォーテーションで変数を使おうとすると、次のように「.」で文字列結合する必要があります。(出力結果は同じです)
<?php $value = "バナナ"; // シングルクォーテーションは「.」で文字列結合する必要がある echo 'あまい' . $value . 'が食べたい'; ?>
文字列をダブルクォーテーション、シングルクォーテーションのどちらかに統一した方が可動性が良くなります。
文字列の改行、複数行の表示
HTMLにそのまま出力する場合の改行は <br> を使用しますが、テキストエリアなど文字そのものの改行について簡単に触れておきます。
「\n」を使った改行
まずソースコードで表してみます。
<?php // \nを途中に入れて改行 $value = "バナナを食べたい。\nイチゴも食べたい。"; echo '<textarea rows="4">' . $value . '</textarea>'; ?>
実行結果:

このように「バナナを食べたい。」の後で改行されました。
クォーテーションの中で改行
ソースコード上でクォーテーションの途中で改行することができます。
<?php // ダブルクォーテーションの途中で改行 $value = " バナナを食べたい。 イチゴも食べたい。 "; echo '<textarea rows="4">' . $value . '</textarea>'; ?>
これも「\n」同じ結果が出力されます。
ただし、このやり方はバグを発生させる原因になりやすいので「\n」で明確に改行させましょう。
まとめ
PHPの文字列について解説しました。
今回の内容を簡単に以下にまとめると、
- 文字列の定義にはダブルクォーテーション、シングルクォーテーションがある。
- 通常文字としてクォーテーションを表示するためにはクォーテーションを混在させたりエスケープする。
- 変数はダブルクォーテーションの場合「{$value}」を文字列の中に埋め込み、シングルクォーテーションの場合は「.」で文字列と変数を結合する。
- 文字列の改行については「\n」を使って改行する。
となります。
文字列の扱いはPHPプログラミングをしていく上でよく使いますので、文字列でエラーにハマったときはこのページを振り返ってくれると幸いです。
プログラミング学習を挫折せずに続けて成功できる人は
- 「目的目標を明確にすること」
- 「質問・相談できる環境を作ること」
- 「自己解決スキルを身に着けること」
この3つを大切にしてると思います。
ただ漠然とプログラミング学習をしているだけでは
すぐに身に付きませんので、プログラミングスクールがおすすめです。
-
テックキャンプ
本気でIT業界に転職したい方におすすめです。
転職できなかったら全額返金があります。 -
DMM WEBCAMP
国から認定されているスクールです。
やむなく離職中の方など、条件を満たしている方は教育訓練給付金が支給されます。 -
TechAcademy
1週間の無料体験があります。
気軽にスクールを体験したい方向けです。