【PHP入門者向け】 文字列の中の変数展開についてまとめました

  • このエントリーをはてなブックマークに追加
  • Pocket

PHPで文字列を画面に表示させる際には、その内容に変数を使用することができる。文字列に対してどのように変数を差し込んでいくのかを紹介していこう。

PHPにおける文字列の中の変数展開について

PHPにおける文字列の変数展開とは、すなわち、文中における変数の値出力のことだ。具体的な方法から示していこう。

ダブルクオートを使った文字列展開

「“」ダブルクオートによって、文字列の中で変数を展開することが出来る。

まずは $str という名前の変数を宣言して文字列を代入し、それを表示させてみよう。

出力結果は下記のようになる。

見事に $str という変数の中に値が文字列中に出力された。

PHPには同じような文字列を定義する方法として、「‘」シングルクオートによる方法がある。しかしこちらの方法では、文字列中の展開は出来ないので要注意である。あくまでも、単一。たとえば、変数だけ、とか文字列だけ、などの場合にのみ対応できる。念のため確認しておこう。

先ほどの例とほぼ同じだが、最終的に出力するecho文を「’」シングルクオートによる記法に変更した。

結果はこのようになる。

$strがそのまま表示されてしまった。

つまり「’」シングルクオートによる記法では、変数展開がされなかったことが分かる。よって、文字列中に変数展開したい場合は、「“」ダブルクオートによる方法で行う。

ダブルクオートを使う場合の注意

ダブルクオートによる変数展開をする場合に気をつけたいのが下記のようなケースである。

この場合、出力結果は何もない「白紙」になる。

白紙とは、PHPでいうところのプログラムのエラーを意味する。つまり、プログラムとして何か不備があり、PHPとしては不完全な結果を表している。

今回のケースに限らず、PHPがプログラムをうまく処理出来なかった場合は、このように「白紙」画面となるため、PHPプログラマの間ではあるあるな話であり、最も恐れている事象でもある。

白紙の原因を探ってみよう

恐れてばかりでもいられないので、原因を考えてみよう。なぜ、今回はこのような結果になったのだろうか?

下記の部分をよく見てみてほしい。

プログラムを作成した本人ならば分かるかもしれないが、この行を見る限り、プログラムを解釈する側には、どこまでが変数で、どこからが通常の文字列が分からないのだ。$s という変数かもしれないし、$strder という変数かもしれない、そんな風に読み取れはしないだろうか?人間にも判別が付かないのだから、PHPではなおさらだ。

ここで行うべきは、どこまでが変数でどこからが通常の文字列かを示すことだ。こういう場合は、きちんと解釈してもらえるようにわかりやすくする方法がある。

それが「{ }」 で変数を囲むという方法になる。下記を見て欲しい。

これでようやく出力が確認できる。

このようにすることで、変数を明確に示すことが出来る。今回のようなケースに限らず、{}による記法は、日常的に心がけるのがよいだろう。

まとめ

PHPプログラムで文字列を表示する際に、定型文の中にある特定の部分を変数にした上で実行結果に応じてその内容を変えるというような事はよくあるだろう。

今回はその方法と表記の際の注意点を解説した。

変数を1つだけでなく2つ、3つと増やしたり、文字列を複数行にしてみたり、など応用してみよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる