PHP基本編

 やっときましたPHP!基本編です。突然このページに来た人で「PHPの開発環境?Xampp?何それ?」という人は「PHP開発環境準備編」をご覧下さい。「HTMLはよくわからん」「自信ない」という人は「HTML復習編」を確認しましょう。その辺をクリアしている人はPHPプログラミングを始めましょう。基本編のメニューは以下です。
 PHP基本編では、基本となる文字列データの入出力から、変数の取り扱い、条件分岐、論理演算、繰り返し処理、配列、ページ展開や無害化(セキュリティ対策の一部)、ファイル入出力処理を取り上げます。一つ一つマスターしていきましょう。

SPONSORED LINK


文字列の出力

1. Xamppの起動

 まずXamppを起動します。PHP開発環境準備編・Xamppの起動のやり方で、設定したXamppフォルダから「xampp-control.exe」をダブルクリックしてXamppコントロールパネルを開き、Apacheの段の[start]ボタンをクリックします。XamppのバージョンによりますがApacheの箇所が点灯したり「running」と表示されたりすれば起動完了です。なお「xampp-control.exe」の「~.exe」というファイル拡張子が表示されていない場合は、PHP開発環境準備編・Xamppの設定で拡張子を表示する設定をして下さい。

2. phpファイルの作成

 次にphpファイルを作成します。HTMLはhtmlファイル、CSSはcssファイル、PHPはphpファイルです。つまり「~.php」という名前のファイルを用意します。ウェブサーバーは、このファイル名を見てphpファイルとして処理すべきかどうかを判断します。
 PHP開発環境準備編・作業フォルダの通り、このテキストでは、Xamppフォルダの中にあるhtdocsフォルダに「pkpkisoフォルダ」を作って作業フォルダとして使っていきます。そしてphpkisoフォルダの中にひな形ファイル「hina.html」を作り、これをコピーして使うようにしています。HTML復習編を飛ばしてきた人は、HTML復習編・ひな形ファイルを見てひな形ファイル「hina.html」をご覧下さい。

SPONSORED LINK

 というわけでひな形ファイル「hina.html」をコピーしてphpファイルを作ります。エクスプローラーでひな形ファイル「hina.html」を選択して[Ctrl]+[c]でコピー。そのまま[Ctrl]+[v]で貼り付けます(もちろん別方法でもOK)。コピーされたファイルの名前を「kihon01.php」と入力して下さい。全角で「kihon01.php」とか、拡張子が残って「kihon01.php.html」とかはダメです。
 ファイルができたら「kihon01.php」をテキストエディタ(Terapad等)で開きます。エクスプローラーでkihon01.phpのファイルをテキストエディタの上にドラッグ&ドロップすると簡単に開けます。テキストエディタの取り扱いはPHP開発環境準備編・テキストエディタを見て下さい。

3. PHPで文字列を出力

 さて準備が整いました。テキストエディタで開いたkihon01.phpにはひな形ファイルの内容がそのままになっていますので以下のようなhtml文が書かれているだけだと思います。

  

 これをベースに次のようにPHPプログラムを書き込んでみましょう。ついでにタイトルタグも「基本01演習ページ」と修正し、「ここが本文」という文字もを消しておきます。書き込んだら[Ctrl]+[s]で上書き保存し(もちろん別方法でもOK)、ブラウザから「http://localhost/phpkiso/kihon01.php」としてサーバー経由でアクセスしてみて下さい。

  

 説明します。まずHTMLの基本タグはタイトルを修正した以外はhina.htmlと同じです。ポイントは<body>~</body>タグの中、<?php~?>というところです。これはPHPプログラムの領域を示す記号です。「ここからここまでがPHPですよ」と示しているわけです。このファイルの場合、他はHTMLですから、HTML文の中の一部だけがPHPになっている、ということです。念のため抜き出してきちんと書くと以下の通りです。<?php~?>の間は上のサンプルのように改行してもいいですし、以下のように改行せずに半角スペースで区切って1行に書くこともできます。

  

 続いて「print」。プリントですが紙に印刷ではなく画面表示です。「print」は「echo」と書き換えることができます。「えちょー」ではなく「エコー」です。いずれも「文字を処理して表示しなさい」というPHPの命令になります。どちらがいいということはありませんので「好きな方」を選んでOK。この資料では次からは「echo」を中心に使います。また上記サンプルの「こんにちは」の前後にはシングルコーテーション(厳密にはアポストロフィ)「'」がついていることを確認して下さい。一般的なキーボードで言うと、上の方の中央にある数字の「7」のキーを、[Shift]キーを押しながら押すと入力できます。それから命令文の最後にセミコロン「;」があります。キーボードの右寄りの中段にある「+」(プラス)のキーです。コロン「:」ではないので注意です。

  

 ブラウザからlocalhost経由でアクセスすると以下のように表示されます。うまく表示されない場合は、プログラムにミスがないか、サーバー経由でアクセスしているか、Xamppがきちんと起動されているかなどを確認して下さい。

  

4. タグを含めた出力

 ここでは何の変哲もない「こんにちは」という文字列を表示しました。そこでこれをタグで装飾してみましょう。文字を<b>タグで太字にします。つまり、PHPでタグを含めて文字列を出力するわけです。ついでに、printもechoに変更して下さい。できしだい[Ctrl]+[s]で上書き保存し、ブラウザ更新して確かめます。

SPONSORED LINK

  

  

 微妙な違いですが太字になったと思います。ならない人は間違いがないかよく確かめて。
 PHPではこのようにタグを含めて文字を出力してウェブページを実現します。それではこれに追加して文字を青色にする<font>~</font>タグもechoで出力してみましょう。シングルコーテーション「'」とダブルコーテーション「"」を間違えないように注意して以下の通り入力してみて下さい。「'」の入力方法は先の通り。「"」は普通のキーボードの左上の方の数字の[2]のキーを[Shift]キーを押しながら入力します。たまに「"」を「'」2つで作ろうとする人がいるので注意です。両者は別物です。

  

  

 できましたか?このサンプルでは<font>と</font>を別のecho文で出力しています。サンプルの<b>タグのように同じecho文の中に埋め込むこともできますが、このように別にすることもできます。PHPプログラムが処理された結果、指定された文字列が順に出力されてくるだけですので、ブラウザ表示上はどちらも変わりません。

5. phpをHTMLに埋め込む

 それではもう一つ。PHPはHTMLに埋め込むことができます。あるいは両者を組み合わせて埋め込んだ形にもできます。実際このサンプルもHTMLの基本タグに埋め込まれているわけですが、このことをよりはっきり確かめましょう。ということで<?php~?>全体を<font>~</font>タグで挟んでサイズを5にしてみましょう。<?php~?>で<font>~</font>を出力するのではなく、<font>~</font>の中に<?php~?>が入る形です。もちろんできたら上書き保存→ブラウザ更新です。

  

  

 文字が大きくなりましたね。PHPで処理されて出力された結果が、それを囲んでいる<font>~</font>タグで装飾されてサイズ5になったわけです。HTMLにPHPが埋め込まれた形というのはこういうことです。もちろん今回は出力が「こんにちは」だけですが、出力がたくさんある場合に同じことをすると全部サイズ5の世界になります。

6. 数値や数式と文字の扱い

 echoやprintでは、数値も取り扱うことができます。数値が文字と違うのは計算できるところ。例えば、ここまで編集してきたkihon01.phpに、次のようなecho文を追加してみましょう。ついでに<font>で指定した文字サイズ「5」は大きくて扱いづらいので「3」に変更してあります。できたら上書き保存してブラウザ更新です。

SPONSORED LINK

  

  

 説明します。まず改行するために2つ<br>タグを出力しています。これがないと改行されずにズラ~っと横並びに出力されます。
 次にecho文で同じ計算式が2つ出力されています。上の方はシングルコーテーション「'」アリ。下の方はナシです。その結果、上の方は書かれた式がそのまま出力されています。下の方は書かれた式が計算されて出力されています。ちなみに「*」は掛け算、「/」は割り算です。
 つまり、コーテーションで囲んだ数値(数式)は文字列として扱われ、コーテーションで囲んでいない数値(数式)は数値として扱われる、ということです。

7. ヒアドキュメントで長文出力

 文字列や数値を出力できることはわかりました。ですが長文になった場合どうしたらよいでしょうか。一文ずつechoで出力することもできますが結構大変そうなことが想像できます。
 そんな時に利用できるのがヒアドキュメント。echo文(もちろんprint文でも同様)を使って次のように書きます。上で書いた数式のecho文の下あたりに以下サンプルを追加して保存しブラウザで確認してみて下さい。

  

  

 説明します。まず、「echo」に続けて(半角空白はありますが)「<<<」と、ヒアドキュメントの範囲を示す識別名が指定されています。このサンプルでは「kokomade」と名付けました。次に表示したい内容が続き、最後にヒアドキュメントの終わりを示すために識別名「kokomade」と「;」セミコロンが書かれています。
 識別名はこのサンプルでは「kokomade」と指定しましたが、「owari」でも「EOF」(=end of file)でも「output01」でも、単なる目印として「abcd」とか「zzz」でもOKです。とにかく、echoの右に書かれる識別名と最後の識別名が一致していることが重要です。
 プログラミングしてみるとわかると思いますが、いちいちecho文(またはprint文)で、シングルコーテーションやセミコロンに注意しながら一文一文書くよりずっと楽だと思います。また、これを使えば、例えば、基本タグのすべてを出力することもできます。うまく使い分けられると便利です。

練習問題

 このページで用いたkihon01.phpを使い、以下の課題に取り組みましょう。
  1. こちらの画像を右クリックしてphpkisoフォルダにダウンロードし、echo文によって<img>タグを出力して表示させなさい。<img>タグについてはHTML復習編・文字と画像を確認して下さい。
  2. echo文を使って「体格指数BMI=体重kg÷(身長mの2乗)=61÷(1.69×1.69)=」という文字列とその計算結果を表示させなさい。なお計算結果はecho文の中で数式を計算させること。
  3. HTML復習編・入力フォームのページの最後にあるHTML文を、echo文のヒアドキュメントで出力しなさい。
練習問題の出力例



ページのトップへ戻る
SPONSORED LINK