基礎から解る!PHP入門講座 プログラム入門に最適な言語、PHPを学ぼう

基礎から解る!PHP入門講座

プログラム入門に最適な言語、PHPを学ぼう      

 このサイトはPHPを独習する際に作成したスクリプトを基に、プログラム言語初心者のための入門講座として作成しました。PHPは初心者に親しみやすく、解りやすいプログラム言語です。これからプログラムを学ぶ人の参考になればと思います。


変数の宣言と型

 あるきっかけでC言語に取り組むことになりました。PHPが一通り理解できていたので、C言語は解りやすくもありましたが、厄介な言語でもありました。それはなんと言っても変数の扱いが面倒だと言うことです。

 変数は宣言をしなければ使うことができないのですね。宣言とは先ず「この言葉を変数にしますよ。」ということを記述しなければ変数を使えないと言うことです。

 PHPならいきなり変数$a=5でOKなのですが、C言語はそうはいかないのです。でもプログラム言語はこれが普通なのかもしれません。さらに変数には「型」と言うものがあり、その変数が数字なのか、文字なのかさらに小数を使うのか整数なのか、細かく分かれていてそれを前もって宣言しなくてはいけません。

 PHPではその区別が一切ありません。宣言は可能なのですが、書いたことはないですね。いつもいきなり使っていました。調べて見るとPHP自体がはC言語あるいはC++で作られているようです。だからよく似ているのですね。大雑把なPHPを内部で自動判断しているようです。PHPを作った人たちに感謝です。

基礎しか解らん!PHP入門講座

 このタイトルは私がこのサイトを作ったときのサイト名です。
 当時PHPを勉強しなければならない状況にあって、いろんな本やサイトを見ていたのです。たしかにどの本やサイトにも基礎的なことは書いてあって、それはそれで理解できるのですが、それだけなんですね。つまり、「基礎しか解らん」のです。

 プログラム言語が初めてだった私にとって、変数や配列、関数がなにか解ってもそれをどう利用して仕組みを作り上げていくのか?入門書では一通りの基礎が終わると、掲示板などの作成を行うのですが、記述を書き写すだけで終わってしまいます。

 だから、自分のサイトも「基礎しか解らない」ですよ、という意味で付けたのです。

 でも、とりあえず少しずつ小さなプログラムを完成させていくと、「ここをこうしたい」と思うようになりました。これが現在まで来た原動力ですね。

 プログラム初心者のみなさん、大きなシステムを作るのはすぐには無理ですが、小さなプログラムを少しずつ作って行くことで必ず全体がつかめるようになります。がんばってください。

echo と print の違い

 echo は画面にHTMLや文字を表示させるために使うのですが、よく似ているのが print です。この2つがどう違うかと言うと、次のような説明が見つかります。

1 print はprint( )と()を付ける。echoは必要ない。
2 echo では、複数の文字列を指定できることです。 printはできない。
3 print echo は同じ関数である。・・・などなど

 PHPマニュアルではどちらも関数ではなく、言語構造なので、( )で括る必要はない。とありました。
 また、実際に試してみると、printも複数の文字列が扱えます。
つまり、print "abc"."def";みたいな形
 ただ、print; echo; とそれだけを記述するとprint;はエラーになるんですね。
 実際この2つには厳密な違いがあるようなのですが、この講座で取り上げる程度の内容であれば、どちらでもよいと言うのが現実的ですね。

スクリプトの書き方

 プログラム言語の入門書などを見ていると、スクリプトの書きかたも色々あるのですね。下のパターン1のように1行にしてしまうのはやはり見にくいのですが、非常に短いものをHTMLにいれる場合は、いいかもしれません。

 私はパターン2を使っているのですが、ある本にパターン3が良いとありました。つまり } この括弧ブレースに1行使うべきだというのです。これが正式な書き方なのかもしれません。ちなみにあるC言語入門書に載っていました。
パターン1
  <?php if($a == 1){echo $a;}?>
パターン2
  <?php
  if($a == 1){
   echo $a;
  }
  ?>
パターン3
  <?php
  if($a == 1)
  {
   echo $a;
  }
  ?>

改行の問題

 改行も不思議な存在です。スクリプトの中で"¥n"という記号が出てきますが、これは「改行」なんですね。

 HTMLの改行は"<br>"ですよね。これも出てきます。この区別がなんだか意味不明??"<br>" はPHPを実行して画面に表示する時、「改行」されるように記述しています。"¥n" は、HTMLのソース見た時に改行されるように、記述しておくものなのです。

 つまり、PHPの実行に関しては、まったくなくてもかまわないものなのです。しかし、PHPで記述したものがどのようなHTMLになっているかを確認することも多くあるので、できるだけ入れるようにしましょう。

 そして、この改行は form で使うテキストエリア内での改行でもあるのです。テキストエリアで文字を入力して改行するたびに"¥n"が自動的に入るのです。そこで、テキストエリアから入力された文章をブラウザに表示させるためには、"¥n"を"<br>"に置換えてあげる必要があるのです。

 このとき悩むのがファイルに保存する場合、変換して保存すべきか、或いは表示の時に変換して表示すべきかということです。どちらがいいのかまだ結論はでていません。
 ただファイルを file で読み込む場合は、改行¥nで区切りを判断して配列に入れるので、これを考えると保存時には変換しない方がいいのかもしれません。
 逆にfgetsの時は1行だけを取り出すので、¥nで区切ると行が変わってしまうので<br>の方がいいかもしれませんね。

シングルクォーテーションとダブルクォーテーション

 これは結構苦労した問題です。単純なつかい方であれば、どちらでもいいと言う認識でした。例えば、
echo "Hello"; と echo 'Hello';
$abc = $_POST["abc"] と $abc = $_POST['abc']などはどちらでもいいようですね。

ところが
echo "これは $abc ですね。"; と echo 'これは $abc ですね。';
ではシングルの方は変数が認識されずそのまま「$abc」が表示されます。

そこで問題になるのは
echo "<body bgcolor='red'>"; のように行内でシングルとダブルを両方使う場合です。このようにタグの属性を""で指定する場合、シングルにしなければならないのですね。じゃぁ、「red」の部分を変数にしたい場合は?

echo "<body bgcolor='$abc'>"; なんとシングルの中でも変数が有効になるのです。良くできてますねェ。

2023/6
SUN MON TUE WED THU FRI SAT
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


 フォクすけ©2006 Mozilla Japan



制作:基礎から解るPHP入門講座 代表:FREEZE

Copyright © 2005/2/28 flzPHP.All Rights Riserved