Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. PHP入門編 - 文とセミコロンとインデントについて

文とセミコロンとインデントについて

みなさまどうもおはこんばんにちわ。

PHP入門編も10ページ目に突入でございます。最初の記事からお読み頂いた方はとてもお疲れ様でございました。このような駄文をここまでお読み頂き大変光栄でございます。

そして初めて記事をお読み頂いた方はどうも初めまして。どうぞごゆっくりしていってください。

ではそろそろPHPの基本的な記法とか処理の流れとかもろもろを把握出来た頃合いだと思いますので、今回はPHPにおいての『』とか空白文字とタブ文字と改行の扱いなんかをやっていきたいと思います。

まずは『;』(セミコロン)についてちょっと解説です。これまでのサンプルで、『文』のおしりに『;』が入っていましたよね。

<?php
echo 'Hello world';

こんな感じでPHPの『文』の終わりには『;』をつけるのが文法上のルールになっています。

んでもって「『文』ってなにそれ?」ってお話なんですが、プログラム言語ではひとつのまとまった処理を『文』と呼んだりします。例えば上記の場合だと『echo』を使って『Hello world』を出力していますよね。小さい世界で考えるとこの処理はこれで完結しています。なので完結した部分、つまり『'Hello world'』のおしりに『;』を付ければOKです。注意点としてプログラム言語によって『文』の定義が多少違ったりします。そこは気をつけてください。

(´-`).。oO(ちなみに『文』という言葉は参考書などで出てくるだけです...現場ではまず出てきません...)

そしてPHPでは『文』の終わりに必ず『;』を付ける必要があります。例えば以下の処理をみてください。『;』を抜いてみました。

<?php
echo 'Hello world'

これを実行するとどうなるのか、というとさっぱり動かなかったりします。この『;』忘れが初心者の方が超はまりやすいポイントになります。

プログラミングを何十年も続けると『;』抜けとかの記述ミスは一瞬で気づけるようになるんですが、結局は一文字あるかないか、という話なので慣れていないと中々見つけづらいところです。なので慣れないうちは「少し記述したらすぐ実行させてみて、問題なく動いたら次の処理の記述に進む。」という癖を付けると良いかもしれませんね。

(´-`).。oO(最近では『;』を書く必要がない言語が多くなってきましたね...)

先ほど文の終わりには必ず『;』を付けないといけない、と言いましたが実はPHPブロックの終了タグの直前の『文』に限り『;』を省略することができます。

<?php // これはちゃんと動きます。
echo 'Hello world'
?>

ただし、『;』抜けごときでバグを引き起こして余計な時間を取られてしまったりするととっても切ない気持ちになってしまうので、省略できるできないに関わらず『;』はちゃんと記述しておくようにしておくと良いかもしれません。

PHPでは『;』を書けば『文』の終わりとして認識してくれるので、逆に言えば『;』を書けば一行で複数の『文』(処理)を書くこともできます。

<?php
echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';echo '逃げちゃダメだ。';

まあ読みづらいだけなので書こうと思えば書ける、という程度の認識に留めておきましょう。『文』の終わりにはちゃんと改行をいれてあげるのがベストでございます。

では続きましてPHPにおいての半角スペースとかタブ文字とか改行とかの扱いについてです。PHPでは半角スペースとタブ文字と改行についてはいい感じで無視してくれるのでいくらでも記述することができます。

なのでハートフルな時はこんな感じでハート型にしてみたりすることもできますが、

<?php
      echo 'すき';                   echo 'すき';
     echo '愛してる';          echo '愛してる';
        echo '愛してる';    echo '愛してる';
            echo '愛してるよ、だいすきだよ';
              echo '愛してるよ結婚しよう';
                 echo 'だいすきだよ';
                    echo 'すきだ';
                        echo '';

読みづらいだけなのでやめましょう。

半角スペースとタブ文字と改行は無視してくれる、というわけなので自由に『インデント』をさせて記述することができます。なのでご自身が読みやすいようにソースコードを整形すると良いでしょう。

『インデント』のそもそもの意味は『字下げ』という意味なんですが、プログラムにおいての『インデント』はプログラムの記述を半角スペース、タブ文字、改行などを駆使して読みやすくすることを指します。

例えば以下の記述はとっても読みづらいですが、

<?php
$key=[0,1,2,3,4,5,6,7,8];$cnt=count($key);for($i = 0; $i < $cnt; ++$i){echo $i .' 回目の出力です。';}

『インデント』を行えばすっきり読みやすくなります。

<?php
$key = [0, 1, 2, 3, 4, 5, 6, 7, 8];
$cnt = count($key);
for($i = 0; $i < $cnt; ++$i){
	echo $i . ' 回目の出力です。';
}

プログラム言語においての『インデント』は好みがはっきり別れるところでもあります。なのでちょっと困ったら現場の先輩の『インデント』を参考にしたり、現場に『コーディングルール』があるならば、それにしたがって書くと良いでしょう。

『コーディングルール』とは現場で定められたプログラムを記述する際のルールといったところです。

大規模開発において、『コーディングルール』がないと人によって書き方が違ったり処理のさせ方が違ったりしてして統一性がなくなってしまい色々と面倒くさいことになるので大規模な開発を行っている企業さんでは大体『コーディングルール』というものが用意されています。

『コーディングルール』には「『インデント』はこういう風に行ってください」とか「変数名はこうしてください」とか色々な形があります。

もし変なルールが指定されていたらそれを指摘するのもよし、『コーディングルール』に追加したい項目があれば提案するもよし、より良い『コーディングルール』はプログラム言語に精通しているプログラマーでしか作れないのでそういう提案をするのもプログラマーの仕事だったりします。

というわけで以上となります。

続いての記事ではPHPでのエラーについて色々やっていきましょう。ではこの辺で。またお会いしましょう。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。