PHPによるプログラミング
PHPによるプログラミング
1. プログラム開発の手順
# プログラムの仕様を決定する
# エディタによりプログラムをコーディングする
# 作成されたプログラムファイルをWebサーバにより公開されている領域に移動させる
# Webブラウザを用いて動作をチェックする
# 問題があれば,バグを発見し,プログラムを作り直す
2. プログラムソースの例
<?php
header("Content-Type: text/plain; charset=X-SJIS");
printf("Hello World\n");
?>
3. プログラムの実行
上記プログラムソースをp00.phpというファイル名で保存する.
保存場所は,~/local_html/Program/p00.php
Webブラウザを起動し,実行させる.
正しく実行できると,ウィンドウの左上に「Hello World」というメッセージが示される
プログラムにエラーがあった場合には,エラーメッセージがウィンドウの上に表示される
4. PHPの文法等
1.コンピュータは,プログラムを一文毎に解釈する.
2.PHPは,開始タグ <?php と終了タグ ?> で囲まれた範囲が実行される.
3. 一文の区切りは,;で表す.
4.プログラムは,代入文と関数の集まりである.
5.変数に値を代入したり,演算したり,関数を利用したりする.
6.主な変数の種類は,次の通り.
整数型 (integer)
浮動小数点型 (float)
文字列型 (string)
配列型 (Array)
7.変数の名前には,必ず$を先頭につけて,他と区別する.$aや$bなど一文字で変数を表しても構わないが,出来るだけ意味の分かりやすい文字列を利用した方が良い.例えば,$kotaeや$answer等.
8.変数の種類は,最初に代入された値でもって自動的に決まる.
$int_val = 1;
$float_val = 1.25;
9.=は,代入文であり,等しいという意味ではない.左辺の変数に右辺の演算結果が代入される.
$int_val = $int_val + 1;
上の式は,$int_val + 1 を計算したうえで,$int_valにその結果が代入される.
10.演算子は,以下を利用できる.
+ 和を求める演算子
- 差を求める演算子
* 積を求める演算子
/ 商を求める演算子
% 余りを求める演算子
一つの式において多くの演算子を利用する場合,一般の数式と同様,*と/の演算は,+とーの演算よりも優先順位が高い.
ただし,式において( )で囲まれた部分は,先に演算される.
もちろん二重,三重の((( )))も許される.
11.printf( )という関数は,ダブルクォート"で囲まれた文字を表示(出力)する機能を持つ.
printf("Hello World.\n");
+ ダブルクォート" で囲まれた部分を出力する.
+ \nは,改行を意味する.
+ \tは,タブ区切りを意味する.
printf("%d %d\n", $val1, $val2);
+ ダブルクォート" で囲まれた部分を出力するが,%dには,それぞれ対応する$val1と$val2変数の値が出力される.
+ %dは,integer(整数)型の値が入ることを意味する.
+ %fは,float(実数)型の値が入ることを意味する. %7.2fの場合は,値全体を7桁で表示させ,そのうち2桁が小数部であることを意味する.
+ %sは,string(文字)型の値が入ることを意味する.
12. header( )という関数は,HTTPヘッダを送信する.
13.つづりの間違いは,許されない.文法エラーとなるので細心の注意が必要.
14.あらかじめ用意された関数は,自分の欲しい機能を満たしているわけではない.
15.必要に応じて自ら関数を作らなければならない.
16.関数については,後述する.
17.プログラムの解説等のコメントをプログラム中に書くことができる.たとえば,/*と*/とに囲まれた部分は,実行されないのでコメント文となる.あるいは//で始まる行は実行されず,コメント文として扱われる.
5.数学関数
sin(引数),cos(引数),tan(引数)
sin, cos, tanの値を返す.返す値はfloatの型である.
引数は,ラジアンの値でfloatの型で入力する.
atan(引数)
arctanの値を返す.返す値はfloatの型である.
引数は,floatの型で入力する.
sqrt(引数)
平方根の値を返す.返す値はfloatの型である.
引数は,floatの型で入力する.
log(引数1,引数2)
引数1の引数2を底とする対数を返す.返す値はfloatの型である.
引数2を省略した時は,自然対数を返す.
引数は,floatの型で入力する.
exp(引数)
eのべき乗を返す.返す値はfloatの型である.
引数は,floatの型で入力する.
pow(引数1,引数2)
引数1のべき乗を返す.返す値はfloatの型である.
引数は,floatの型で入力する.
6.プログラム例(円周の長さを求める)
<?php
// 半径3の円周の長さを計算するプログラム
header("Content-Type: text/plain; charset=X-SJIS");
$radius = 3.0;
$pi = 3.1415926535;
$perim = 2 * $radius * $pi;
printf ("Radius =%10.5f\n", $radius);
printf ("Perimeter=%10.5f\n", $perim);
?>
7.注意事項
プログラムは,自分で書いたものであっても,時間が経つと,何の目的でどのような機能があるプログラムなのか分からなくなることが多い.この授業でもたくさんのプログラムを作成して行く.そこで,分かりやすいファイル名にすることはもちろん,プログラムごとにコメントを残しておく必要がある.
コメントは,プログラムの中に書いておくのが便利である.PHPやC言語では,//のある文は,コメントと判断される.プログラムの冒頭に,プログラムの目的や機能を詳しく記述し,トリッキーなソースを書いた場合には,そこでもコメントを書いて,分かりやすくしておくべきである.
* 上のプログラムを改良し,面積(Area)も計算するように改良しなさい.
* 変数名は,各自適当につけても構わない.
* 課題ファイルの名前は,"p03.php"という名前で保存しなさい.
* 保存場所は,~/local_html/Program/p03.php
* このプログラムをWebブラウザでダウンロードし,確認しなさい.
課題