PHP学習コラム第3回『ホワイトスペースと大文字小文字の使い方』(ぺち子の目指せPHP初級試験合格!)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
こんにちは~、ぺち子です!
前回はPHPの開始タグと終了タグのお話でした。
今回は『ホワイトスペースと大文字小文字の使い方』について書いてみます。
実は今、試験本『初めてのPHP5』の、第1章辺りをやっています。
全部で12章あるんでしたね。
先はまだまだありますが、がんばりましょー!
■ホワイトスペース
ホワイトスペースというのは、「 」とか、「 」とか、「
」とか、目に見えない文字のことです。
何を言っているのか分からないと思いましたか。
私も何を書いているのか分からなくなってきました(笑)
1つ目のは半角スペース、2つ目のはタブ、3つ目のは改行です。
PHPのコードを人間が読みやすく整形するために使われています。
(全角スペースは日本語なので使えませんよっ。)
余計な半角スペース、タブ、改行を使わずに1行でPHPを書くとこんな感じになります。
ホワイトスペースはほとんどありません。
[fizzbuzz.php(1)]
------------------------------------------------------------
<?php for($i=1;$i
------------------------------------------------------------
echo や print のような言語構造(関数とはちょっと違います)の場合、区切りが明確なら、後ろの半角スペースは実は不要なのです。
------------------------------------------------------------
<?php
// 例1
echo"Hello!";
// 例2
$hello = "Hello!";
echo$hello;
?>
------------------------------------------------------------
区切りが無いと関数名の一部として解釈されてしまうような場合は、半角スペースが必要です。
------------------------------------------------------------
<?php
// 例3
echo 123;
// 例4
echo date('Y/m/d');
?>
------------------------------------------------------------
また、セミコロン(;)までは処理がつながるので、echo の後ろに改行が入っても大丈夫です。
------------------------------------------------------------
<?php
// 例5
echo
"Hello!";
?>
------------------------------------------------------------
コンピュータが実行する分には不要な半角スペースや改行などが無くても結構ですが、fizzbuzz.php(1) のようなコードが何万文字も続いたら読みにくすぎますよね!構文エラーが出ても「1行目で構文エラー」としか言われないので、1行目のどこなのかさっぱりです。
そこで、人間が読みやすいように(メンテナンスしやすいように)、ホワイトスペースでコードを整形するのです。
[fizzbuzz.php(2)]
------------------------------------------------------------
<?php
for($i = 1; $i
if ($i % 15 == 0) {
echo "FizzBuzz";
}
else if ($i % 5 == 0) {
echo "Buzz";
}
else if ($i % 3 == 0) {
echo "Fizz";
}
else {
echo $i;
}
echo "\n";
}
?>
------------------------------------------------------------
この整形の仕方には、チームや会社ごとのコーディングルールがあることがほとんどです。一人で開発をする場合も、自分なりのルールを決めてみてください。Google検索で「php コーディングルール」なんかを調べてみるのもいいと思います。いろいろな書き方があります。
■大文字小文字
PHPは割りとゆるい言語だと言われますが、大文字小文字に関しても、そこそこゆるいと思います。言語構造や関数名では、大文字小文字の区別がされません。
下の例は、すべて同じ処理をしてくれますが、可読性を考慮して、普通は一番目の書き方(PHPで定義されている本来の書き方)で書きます。
------------------------------------------------------------
<?php
// 例1
echo date('Y/m/d');
// 例2
Echo Date('Y/m/d');
// 例3
ECHO DATE('Y/m/d');
// 例4
EcHo DaTe('Y/m/d');
?>
------------------------------------------------------------
また、この例は、同じ関数を2回定義したことでエラーが起きます。
------------------------------------------------------------
<?php
function hello() {
echo "hello";
}
function HELLO() {
echo "HELLO";
}
?>
------------------------------------------------------------
以上のように、関数の大文字小文字に関してはゆるゆるなんですが、変数名は大文字小文字が区別されちゃうんですよね!「$hello」と「$HELLO」は全く別の変数なのです。
------------------------------------------------------------
<?php
$hello = "hello";
$HELLO = "HELLO";
echo $hello; // hello(「HELLO」に上書きされていない!)
?>
------------------------------------------------------------
グローバル変数の「$_POST」を、間違えて「$_post」って書いて動かなかったことはありませんか?そうですか、ないですか。私はあります(笑)
関数名も変数名も、「定義したときの名前のまま書く」が基本ですが、たまに大文字小文字を打ち間違えることもあるかもしれません(慎重な人はちゃんとコピペをするらしいですが)。そういうときに、エラー箇所の目星をつけるためにも、大文字小文字のルールについては、覚えておいたほうがいいと思います。
■おまけ
Whitespace(ホワイトスペース)っていう、ホワイトスペースだけを使ったプログラミング言語があります。ホワイトスペースなので、コードは目には見えません(笑)。こういう読みにくくて実用的でないネタ言語を「難解プログラミング言語」と言うんですよ。
[Wikipedia:Whitespace]
それでは今回はこの辺で~。
************************************************************
「ぺち子の目指せPHP初級試験合格!」PHP学習コラム目次
第一回
「info.phpを作成し、ブラウザで表示させる おまけ:GUNDAM」
http://on.fb.me/K5jfiq
第二回
「開始タグと終了タグの適切な書き方」
http://on.fb.me/MwF3T4
第三回
「ホワイトスペースと大文字小文字の使い方」
http://on.fb.me/KzPf1T
第四回
「ダブル&シングルクォートと、ヒアドキュメントの使いどころ」
http://on.fb.me/KCYklK
ソーシャルもやってます!