PHPプログラミングで人を幸せにしたい

PHPプログラミングで人を幸せにしたい


PHPプログラミングを勉強中のりょうま堂です。プログラミングは価値あるものを生み出せる数少ない技術。PHPは簡単なので入門に最適ですよ!

変数の展開とクオートの関係、コメント行について

PHPプログラミングの基礎

文字列をあらわすクオートとダブルクオートの違い

PHPは変数に代入する値の『型付け』が流動的な言語です。
多くのプログラミング言語では、同じ3という値でも、数値なのか文字としての3なのかを、初めに指定することが多いです。
ですがPHPの場合は代入時に"(ダブルクオート)か'(シングルクオート)で囲めば文字列、囲まなければ数値というシンプルな違いしかありません。
しかも、文字列として代入したはずの値でも、算術演算子が隣にあるときは自動的に数値として扱う、というような流動性があります。
 
本コラムでは文字列を表す"と'の違いと、実際にプログラムを書くときに意識したいコメント行について解説します。

"(ダブルクオート)と'(シングルクオート)の違い

変数に値を代入するとき、ダブルクオートとシングルクオートの違いを意識することはあまりありません。
違いがでるのは、代入する文字列の中に変数が含まれているときです。
次の例を見てください。

$num = 5;
$str1 = "今日宿題を忘れた子は{$num}人です。";
$str2 = '今日宿題を忘れた子は{$num}人です。';
//
echo $str1;
echo $str2;

文字列の中に変数を入れるときは、ここからここまでが変数だとわかるように、{}で囲みます。
これは変数展開の基本なので覚えておきましょう。
では上の2つのパターンをブラウザに表示するとどうなるでしょう?

今日宿題を忘れた子は5人です。
今日宿題を忘れた子は{$num}人です。

表示すると違いがでました。
"で囲んだ文字列の中では変数$numが展開されていますが、'で囲んだ文字列の中では展開されていませんね。
PHPでは'(シングルクオート)で囲んだ文字列の中では変数の展開がされず、$も含めた完全な文字として扱います。
最初は使い分けが難しいですが、慣れればどうってことありません。
初めのうちは文字列を表すときに"(ダブルクオート)を使うように統一しておくと、迷うことは少ないと思います。
 
文字列の中に展開した変数を入れたいとき、上記の例のように{}で囲むやり方以外に、文字列の連結演算子「.」を使う方法もあります。
ここはデータベースとの連携時に必ずハマるポイントでもあるので、別のコラムで解説します。

目次にもどる

コメント行を活用しよう

上記の例の中にもある「//」という行ですが、これはコメント行というものです。
HTMLでいうと同じで、コードに全く影響しない作成者のためのメモ書きです。
HTMLのコメント行と違い、ブラウザに表示されないだけでなく、ソースコードにも現れません。

<?php
処理1
?>


<?php
処理2
?>
始めのうちはプログラムの処理を上記のように改行で区切って見やすくすると思いますが、あまりおすすめしません。
HTMLと連携するPHPの場合、スクリプト同士を区切った改行の部分もブラウザ上では『改行コードの出力』と見なされ、あとあとハマることになります。
ですのでどうしても改行で区切りたいときは以下のようにコメント行として区切りましょう。

<?php
処理1
?>
//
//
<?php
処理2
?>

本来は、コメント行はここからは○○の処理をする部分、ここからは△△の処理、というふうにあとで見たときに思い出せるように使います。
なるべく細かいところでも、最初のうちはコメントをたくさん残すようにしましょう。
またさきほどの//の場合、コメントと見なされるのは、//以降でその行だけです。
長いコメントを書く場合は次のようにします。

<?php
$str = "テスト";
/*あとでデータベースから抽出した文字列を使う
処理回数が多ければ関数にする。
文字列のマッチング処理もあとで*/

$comment = "・・・・
・・・・
?>

/*~*/の部分は、複数行にまたがってコメント行と見なされます。
CSSファイルと同じなので楽勝ですね♪

目次にもどる

コメントフォーム

自分の勉強にもなりますので、コメントいただけるとうれしいです。

お名前・ニックネーム

 

タイトル

 

コメント ※HTMLタグは使えません

コメント

  • コメントはまだありません。