Category: 1.プログラムの基本

1-5.関数を制する者はプログラムを制す?

関数を理解するには、作り方と読み方が必要だと私は考えています。

作り方というのは、自分で関数を作る(自作関数)ということで、
読み方というのは、人が作った関数を使うということです。

では早速作り方を・・・・という前に、関数についてちょっと前置きしておきあます。
先の記事でも書きましたが、関数というと y = ax + bというようなモノを
思い出す人が多いのではないでしょうか。

もっと簡単にしてみると、y = x + bこれも立派な関数です。
xとbを足した答えがyということになります。

このyを求める関数に、名前を付けてあげるとしましょう。
そうですねー。足してるだけなので・・・・tasu いや、プログラムらしく plusという名前を付けることにします。

ここで、関数を作るソースを見てください

<?php

	function plus($x,$b){
		return $x + $b;
	}

?>

function 関数名 ( 関数で利用する変数の列挙) {
  関数で行われる処理
}

これが関数の基本です。
関数名は、基本的に自由に決めて構いません。
ですが、何かルールがないと、何をするための関数なのか解らなくなってしまいます。
自分なりのルールで名前を付けるか、標準的な名前で関数名を付けるかは、おまかせします。

私の場合は、getData とか loadFile とか(動詞+名詞)的な名前を付けることが殆どですが・・・。

さて、ここまで引っ張りましたが、作り方の解説開始です。
上のソースコードを見てください。
3行目の「function」で、これは関数だということを明記しています。関数の名前は「plus」
この「plus」の関数で使う変数は、x と b です。

4行目の「return」は、この関数の終わりを表していて、「return」の後ろの内容が y になります。
つまり、plus関数の答えです。

これが基本中の基本で、関数内では色んな処理をして、return を使って答えを返すのです。

ところで上のソースコードは実行してみましたか?
実行しても、画面が真っ白だと思います。

それはそうですよね。echo命令を使って表示しているわけでもありませんし、
むしろ、関数を作っただけで実際にはPHPはなんの命令も実行していないわけです。

では、今作ったplus関数を実際に使ってみましょう。

<?php

	function plus($x,$b){
		return $x + $b;
	}

	$y = plus(5, 2);

	echo $y;

?>

7行目で、作った関数を使っています。
$yの中には、関数内のreturnで指定されたものが入ります。
このように、関数名(使うデータの列挙)で使うことが出来ます。簡単でしょ?

でも、こんな必要ないような関数の説明では、全然関数の必要性が見えてきませんよね。
なので、関数について、もっといろんなものを体験した方が良いので、別の関数も作ってみましょう。
ということで、渡された配列のデータを、HTMLのテーブルにする関数を作ってみましょう。
(HTMLのテーブルの書き方がわからない人は、「HTMLの基礎」を読んでみてください。)

まずは、どんな関数にするのか、どんな処理をするかを頭の中に思い描きます。
慣れないうちは紙に箇条書きで書くとよりいいと思います。

関数の仕様は
2次元配列を受け取って、HTMLのテーブルデータにして返す。(echoでの出力はしない)

1.受け取ったデータを、foreach文で中身を取り出す。
2.行が始まるときは<tr>を変数に入れる。
3.列では<td> 1で取り出した中身 </td>を変数を入れる
4.行が終わるときは</tr>を変数を入れる
5.全部のデータが入ったらreturnでデータを返す。

さて、こんな感じの関数でいいかな・・・まぁ、やってみましょう。

<?php
	function convertTable($arr){
		foreach($arr as $k => $v){
			$buff .= '<tr>';
			foreach($v as $k1 => $v1){
				$buff .= '<td>'.$v1.'</td>';
			}
			$buff .= '</tr>';
		}

		return $buff;
	}
?>

といっても、ソースがすぐに出てきちゃうと、やれないですかね・・・。( ̄っ ̄;
とりあえず、動かしてみたり改造してみたりして触れてみて覚えてみてください。
眺めてるだけじゃ、理解できないともいますので・・・。

さて、せっかく作った関数です。つかってみます。

<?php

	$array = array(
		array("路線","駅名"),
		array("山手線","新宿"),
		array("山手線","渋谷"),
		array("山手線","東京"),
		array("山手線","品川"),
		array("山手線","西日暮里"),
		array("中央線","四谷"),
		array("中央線","お茶の水"),
		array("副都心線","新宿三丁目"),
		array("副都心線","池袋")
	);

	function convertTable($arr){
		foreach($arr as $k => $v){
			$buff .= '<tr>';
			foreach($v as $k1 => $v1){
				$buff .= '<td>'.$v1.'</td>';
			}
			$buff .= '</tr>';
		}

		return $buff;
	}

	echo '<table border=1>'.convertTable($array).'</table>';

?>


適当につくった2次元配列を、関数に入れてみました。
returnで返ってきた$buffを、<table>と</table>で囲って表(テーブル)として出力しています。

実行すると左図のような結果になると思います。

これで、関数に渡すデータ(配列)次第で自動で表(テーブル)を作ってくれる関数ができました。
この関数は、まだまだ不便なところや、受け渡す関数次第でエラーだって出ます。
それらを出ないようにしたり、改良したりしていくのもプログラムの醍醐味の一つかもしれません。

さて、関数がどんなものかというのは、少し分かってきましたか?

では、ここまで・・・・といいたいところですが、一番最初に書いたように関数では人が作った関数を読むことも必要です。
正確には、関数の中身を読むのではなく何をする関数で、何を渡して何が返ってくるのかというの理解することです。
関数の中でどんなことが行われてるのかは、この際気にしなくてもいいでしょう。

ということで、次をみてください。

これはPHPのリファレンスページのスクリーンショットの一部です。
http://php.net/manual/ja/function.str-replace.php
関数の説明は、このような感じで書かれることが多いです。
また、PHPの関数リファレンスは、今後多く目にするかもしれませんので読み方を覚えておいて損はないでしょう。

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

返値 関数名 ( 引数1 , 引数2 , 引数3 , [ 引数4 ] )
という構成になっています。
返値は、returnで設定されているもので、mixedというのは不定のデータ型ということです。
データ型というのは、後で説明します。簡単に言うと返ってくるデータの種類ということです。

関数名は、もう説明しなくてもいいですね。
引数1、引数2・・・というのは、関数に渡すデータです。

作り方が分かれば見方はわかりやすいかな?

でもちょっと説明不足ですよね。
上の関数でいえば、mixedというのが返値(関数から返ってくる値)ということになりますが、mixedというのは何なのか・・・。
それは先述の通り不定のデータということです。不定では分かりづらいので、定まってるデータを例に挙げてみます。

int 整数(例:10
float 少数 (例:0.5
bool 真偽値(例:true
array 配列
string 文字列(例:こんにちは

ほかにもあるかもしれません。よく覚えてない(ぇw
ここで、mixedの説明を再度すると、不定ということは、上に上げたデータのどれかの値が入っているということです。
配列かもしれないし、整数かもしれない・・・・という何とも微妙な状態ですね。
先で示したPHPリファレンスのページの下の方を読んでもらえば、返り値という項目に、こう書いてあります

この関数は、置換後の文字列あるいは配列を返します。

つまり、mixedは、文字列(string型)か、配列(array型)が、関数から返されるということになります。

引数の前についてるmixedも同じ意味です。引数にも受け渡すデータの型が関係しています。
使い続けていれば、少しずつ覚えてくると思いますので、あまり気にせずに使っていきましょう。

さて、これで関数はおしまいですが、これは基本の基本で説明も、かなり端折ってますので
使っていくうちになれていってください。

では、次は実際にプログラムを作っていってみましょう。

1-4.制御構文て難しそうじゃね?

タイトルに、制御構文って難しそうじゃね?と書いたものの、
何をもって難しそうなのかも解らないかもしれませんね。
制御構文は、プログラムの流れを制御するための文法のことで、
日本語で表現するならば

『もし、~ならば~する。』や、『~回、~する。』といった感じで
条件や回数なんかを指定して「~する」といった命令コントロールするために使われます。

ひとつの目的を達成するのに、いろんな書き方の制御構文があるのですが、
今回、私が解説するのは、if文、switch-case文、for文、foreach文の4種類だけです。
大概の事は、この文だけで出来ると思います。
他にも、while文や、do-while文などがあるんですが、省略しますので、
興味がある方は、検索エンジンで「PHP 制御構文」と検索してみるといいでしょう。

今回は、長くなるので気合いを入れずに読んでください。

1.if文

if文は、既に先の記事にも出てきてますが、お復習いしてみます。

$tenki = "hare";

if($tenki == "hare"){
echo "今日の天気は晴れです。";
} else {
echo "天気はまだ解りません。";
}

?>

上記のプログラムは、
変数「天気」に「晴れ」という文字が入れられています。
もし、その変数天気の中身が「晴れ」であれば、「今日の天気は晴れです。」と表示され
違えば「天気はまだ解りません。」と表示されるソースコードです。
何となくでもいいので、理解していきましょう。

では、晴れの時は「今日の天気は晴れです」と表示させ、
曇りの時は「今日の天気は曇りです。」と表示させ、
雨の時は「今日の天気は雨です」と表示させ、
晴れでも曇りでも雨でも無いときは「天気はまだ解りません」と表示するように作り替えてみましょう。

$tenki = "hare";

if( $tenki == "hare" ){
echo "今日の天気は晴れです。";
} elseif( $tenki == "kumori" ) {
echo "今日の天気は曇りです。";
} elseif( $tenki == "ame" ){
echo "今日の天気は雨です。";
} else {
echo "天気はまだ解りません。";
}

?>

「elseif」が出てきました。
これは、「もし、Aならば~する。AじゃなくてBならば~する。」といった場合に使う文で、
AじゃくてBならば が、elseif( 条件 )と対応しています
なので、いきなりelseifから始まるif文は存在しません。if ~ elseif ~ else~ と絶対になります。

しかし、天気の種類は、「晴れ、雨、曇り」だけではありませんし、もっと多い条件分けが必要な場合も多々あります。
そんなときに使うのが、switch-case文です。

2.switch文

switch文は、if文の条件が比較的単純で、多くの条件分けが必要な時に向いている制御構文です。
まずは、次のソースを見てください。

$tenki = "hare";

switch($tenki){
case "hare":
echo "今日の天気は晴れです。";
break;
case "kumori":
echo "今日の天気は曇りです。";
break;
case "ame":
echo "今日の天気は雨です。";
break;
default:
echo "天気はまだ解りません。";
break;
}

?>

switchの後ろの()の中に、判定したい変数を入れるのが一般的な使い方です。
上記のソースの場合は、$tenkiの中身を判定の材料にして処理を分けます。

次に、case を見て下さい。caseは、日本語で言うと「場合」です。
つまり、”hare”の場合 は、その下の全て処理を行います。

この「全て」が曲者です。case は、次にcaseが出てきても無視して処理を実行します。
つまり、$tenki に 「hare」が入っていた場合は、
「今日の天気は晴れです。今日の天気は曇りです。今日の天気は雨です。天気はまだ解りません。」と全部表示してしまうのです。
それを防ぐために、「break;」が入っています。
このbreakを見つけると、caseは、その処理から抜け出します。

そして、defalutが出てきますが、これは、指定されているどの場合にも当てはまらない場合に実行されます。
私が使う場合の使い方は、デフォルト(規定値)の設定の場合と、どの場合にも当てはまらない場合の二つです。

上記のソースでは、どの場合にも当てはまらない場合として使っています。

規定値として使う場合は、以下のソースの用に使います。

$tenki = "Fubuki";

switch($tenki){
default:
case "hare":
echo "今日の天気は晴れです。";
break;
case "kumori":
echo "今日の天気は曇りです。";
break;
case "ame":
echo "今日の天気は雨です。";
break;
}

?>

上記のソースを実行してみましたか?
「今日の天気は晴れです」と表示されたのではないでしょうか。
$tenkiの中には「Fubuki」と入っているので、どのcaseにも当てはまりません。
なので、defaultに割り振られて処理がされますが、breakが見つかるまで処理されるので、
8行目の「今日の天気は晴れです」と表示する命令までは実行することになります。

つまり、$tenkiには、「hare , kumori , ame」以外のものが入っていた場合は、
「hare」が入っていた場合と同じ処理をするようになります。
つまりはdefault(規定値)が「hare」であるのと同じになります。

このような処理をする場合は、いろんな場合がありますが、条件が絞れない場合や決まった処理がある場合に
よく使われます。簡易的なエラー処理にも使えますので、覚えておくと良いかもしれません。

最後に、switch文を日本語で書くと、こんな感じになります。
理解を深める参考までに!

($tenki)で条件分岐
「hare」の場合は:
晴れと表示する。
この処理から抜ける。
「kumori」の場合は:
曇りと表示する。
この処理から抜ける。

3.for文

やっと長いswitch文が終わったのですが、for文も厄介です。
for文は、処理を繰り返す(ループ)ために使われます。

基本的な使い方は次のようになります。

for( $i=0; $i < 10; $i++){
echo $i."
";
}
?>

もちろん2行目が重要ですね。
$が付いているので$iが変数だと解ると思います。
どこから$iが出てきたのか・・・・。謎です(--:

ぶっちゃけ、$iじゃなくても$a でも $b でも $count でも何でも良いんです。
$iとするのはプログラムの風習的な物や、簡単な方がコーディングに時間が掛からないのが理由だと思います。

ここでは、解りやすいように$count にして説明します。自分でプログラムを、趣味でやる程度であれば
$iを覚えておく必要はありませんが、誰かとプログラムを共同開発する場合や、仕事で一般的なコーディングを
必要とする場合は、$iで作るようにしましょう。
それでは、解説を再開しましょう。
for文の基本は次のようになります。

for( $count=0; $count < 10; $count++){
echo $count."
";
}
?>

for ( 初期化 ; 条件 ; 処理後の処理 )

ちょっと、解りにくいですよね・・・(反省してますが、旨い表現が思いつきません。。。
なので、ちょっと丁寧に説明します。

初期化では、
$count = 0になっています。
これは単純に、for文を実行するために$count変数の中身を0にしたことを表します。
何かをするまえに変数の中身を空にしたり、必要な値にセットし直すことを初期化といいます。
for文以外でも初期化という言葉が出てくると思いますので頭の片隅に入れて置いてください。

条件では
$count<10となっていますので、この条件を満たしている間は、
{}で囲まれている処理を実行することです。

処理後の処理とは・・・。
一番解りづらい表現ですが、上記の条件が満たされている場合は、for文は{}内の処理を行います。
この処理が行われた後、この「処理後の処理」が実行されるのです。つまり、ここにはfor文が一回実行される度に
呼び出される処理が書いてあるということです。
ここに書かれている$count++というのは、$count = $count + 1;の省略式です。

プログラムでは、同じような処理や決まった処理に省略形があったりします。
この$count++も省略系で、$countにプラス1するという意味があります。

流れは何となくつかめましたか?
では、全体を追ってもう一度説明します。$countに重点を置いて説明しますので、追って見てください。


for文 が実行される時は、まず初期化の処理がされます。$count = 0
そして、条件が満たされているかが判定されます。 $count < 10
この場合、初めてfor文が実行される場合には、$countには0が入っているので、
「10より小さい」という条件が成り立つので、
{}の中身が実行されます。この場合は、echo $count.”<br />”;です。
つまりは$countの中身を表示する命令です。 が・・・ 今までにはない."<br />"が付いてますね。

htmlを少しやったことがある人は、解ると思いますが<br />は、改行をするためのHTMLタグです。
そして、最初に付いてる「.(ドット)」は、二つの物を連結するための記号です。
$countと<br />をくっつけるための記号です。
さて、見てみるのが一番です。

上記のプログラムを実行してみましょう。
0
1
2 (以下略)
と改行されて表示されてますよね。表示されたもののHTMLのソースを見るとなっています。
表示は改行されているのに、HTMLソースは改行されていないのにも理由があるんですが、それはまた今度にします。

0
1
2
3
4
5
6
7
8
9

さて、for文について、少しはわかりましたか?

このfor文については、重要ですので、問題を出してみます。
この問題を解いてみてください。
答えは、特設ページに置いておきます。

◆基礎問題(1)◆
for文を使って、1から100まで表示するプログラムを作りなさい。
(これは簡単!ちょっと改造すれば良いんだよ。注意点はひとつ、1から始まるって事!)
答え合わせはこちら

◆応用問題(1)◆
for文を使って、1から100までの奇数を表示するプログラムを作りなさい。
(今までに解説した内容だけで作れる方法で作ってみてね!)
答え合わせはこちら

問題の内容で、間違いや解らないことがあったらお問い合わせください!

4.foreach文

for文は、少しだけでも理解できましたか?次の制御構文は、foreach文です。最初にforと付いているので
また繰り返しをする制御文だというのは想像できると思います。

残念ながら、このforeach文を理解するには、配列という物を理解しなければなりません。
配列というのは、複数次元のデータ集合体です。はい、わざと難しく言いました。スイマセン。

配列とは右の表のような物だとイメージしてください。
まずは、配列で、AとBとCを表現してみます。

$array[1][1] = "A";
$array[8][3] = "B";
$array[4][10] = "C";

?>

どうですか?$arrayという変数は、この際無視して[][]二つの括弧に注目してください。
一つ目の括弧の中身が上部の数字を、二つ目の括弧の中身が左側の数字を表しているのが解ると思います。

そこで、少し右側の表のイメージをもっと柔軟にイメージしてみてください。

配列というのは、次のような物もあります。

$array[0] = "変数の中身";
$array["Xzahyo"]["Yzahyo"] = "変数の中身";
$array[4][10][8] = "変数の中身";

?>

3行目のは「一次元配列」 4行目のは「連想配列」 5行目のは「三次元配列」 と表現されることもあるんですが
正直、名前なんてどうでも良いです。いろんな配列があり得るという事と、いろんな配列を頭の中で
表のようにイメージできるようになる方のことが重要です。

さて、配列について少しだけ理解して貰いました。
ここからが本題です。

この配列の中に入っているデータを、貴方は取り出したいと思っているとします。
決まった数字でデータが整然と入っている配列であれば、for文で取り出すことが出来ます。
って簡単にできます。と言われても困りますね。
ということで、次のソースコードを入れてみてください。

$array = array("a","b","c","d","e","f","g","h","i","j");

for($i=0; $i < 10; $i++){
echo "array[".$i."] :: ".$array[$i]."
";
}

?>

ちょっとずつ複雑になってきましたが、大丈夫。
今までの事を理解してきていれば、何となくでも解るはずです。
順に説明していきます。
3行目は、$arrayという変数に、何かを入れているのは解ると思います。
そう、a~jを順番に入れているんです。
$array[0] = "a"; $array[1] = "b"; ・・・ なんて、面倒な入力をしなくて済むようになっています。
つまりは、[0]~[9]に、a~jの文字が入っている状態です。

そこで、for文です。
$iを初期化で0にセットして、$i が10より小さいときに{}内の処理をします。処理後は$iにプラス1をする。
つまり一番最初の処理では、
$iが0で、中の処理を実行されて、「array[0]:: a」と表示されるのは解りますか?
その後、$iは1になり中の処理が実行され・・・「array[1]:: b」と表示される・・・。
$iの値が一つずつ増えていくことによって、呼び出される配列の中身も変わっていくということです。

では、最初の配列の種類を説明した連想配列の場合や、不規則に配列にデータが入っている場合はどうでしょう。
かなり面倒なことになりそうな予感がしませんか?
そう、ここでやっと、foreachの出番です。

では、foreach文のソースコードを見てみてください。

$array[1] = "A";
$array[8] = "B";
$array[4] = "C";
$array["Xzahyo"] = "D";
$array[10] = "E";

foreach($array as $key => $value){
echo "key = ". $key . " :: value = " . $value . "
";
}

?>

$arrayは一次元配列で、データはバラバラで、一部は連想配列になっている。
この状況では単純にfor文を使ってデータを取り出せません。
(一応書いておきますが、for文でもデータを取り出す方法はあります。)

しかし、foreach文を使うと簡単に取り出すことができます。
では、説明してみます。
$arrayにデータを入れているのは、既に解るかと思います。なのでforeach文の所を重点的にいきます。

foreach ( ループする配列 as キー => 変数の中身) となります。

ループする配列というのは、データを取り出したい配列ということになります。
キーというのは、[]の中の文字や数字のことで、添え字とかインデックスとかキーとか呼ばれます。
変数の中身は、まさに変数の中身です。取り出したいデータということになりますね(^^;

上のソースを実行するとイメージしやすいかと思います。

このforeachを使えば、配列の中に何個データが入っていても取り出せるということになりますね。

では、ここで問題にいきましょう!

◆基礎問題(2)◆
foreach文を使って、次の配列の全データを表示しなさい。

$array = array(
"apple",
"banana",
"peach",
"pineapple",
"strawberry",
"orange"
);
?>

答え合わせはこちら

◆応用問題(2)◆
foreach文を使って、次の配列のキーの色をしたデータを出力しなさい。
色の指定は、<span style="color: ** ;">****</span>で行うものとする。
(HTMLとCSSを利用して色を指定する必要があります。ちょっと難しいかもしれませんが是非チャレンジを!)

$array = array(
"red" => "apple",
"yellow" => "banana",
"pink" => "peach",
"green" =>"pineapple",
"bule" => "strawberry",
"orange" => "orange"
);
?>

答え合わせはこちら

制御構文は如何でしたか?
やっと、制御構文って難しそうだな・・・と思って頂けるようにはなったでしょうか?
そう思えるようになったなら、一歩前進ですね!

この「プログラムの基礎」で書く内容が色んな物へ通じていますので、
挫けずに、読んだり試したりしながらのんびり何度も読んで、改造してみてください。

さて、今回のところは疲れたんじゃないでしょうか?
書く方が疲れました(^^;

ということで、次は、関数についてです。

1-3.条件分岐でナニガできるの?

条件分岐を使うと、複数の処理を分けて行うことが出来るようになります。

$tenki = "hare";

if($tenki == "hare"){
echo "今日の天気は晴れです。";
} else {
echo "天気はまだ解りません。";
}

?>

さて、上記のソースを見て下さい。
3行目では、一つ前の章で覚えた(?)変数「tenki」に、文字列「hare」が入れています。

そして、ここから新しい『条件分岐』ですが、解説する前に5行目から9行目までを日本語で書いてみましょう。

もし(tenki が hare)ならば{
「今日の天気は晴れです。」と表示
}違えば{
「天気はまだ解りません。」と表示


どうですか?わかりやすくないですか?ないですか、そうですか・・・・(汗。

ではちょっとだけ詳しく解説を。
PHP には、「=」と、「==」と「===」の3つの似た記号が出てきます。

「=」は、左辺に右辺を代入する意味があります。
つまり「=」の左側にある変数に右側の「何か」をいれるってことですね。
何か っていうのは、何でもOK。文字でも数字でもOK!!

「==」と「===」については、あとでまとめて書くとして、
ここでは、左辺と右辺の同じといった感じかな。
つまり、「==」、「===」をはさんだ右側と左側の内容が同じ。

ここまで説明してからこのソースを見てみてください。

$tenki = "hare";  // 「$天気」変数に「はれ」を入れる。

if($tenki == "hare"){ // もし ($天気 と 「hare」)が同じならば
echo "今日の天気は晴れです。";  // 「今日の天気は晴れです。」と表示。
} else { // 違えば、
echo "天気はまだ解りません。"; //  「天気はまだ解りません。」と表示。
}

?>

さっきより解る感じですか?何度もこの記事を読んだり、プログラムを改造したり、
他のPHP解説サイトを読んだりしながら、少しずつ解っていってください。

さて、次に進みましょう!

1-2.変数って便利なの?

無いと困るものなんですね(^^;

よく変数は、箱と表現されます。
大体そんな感じです。(^^;

PHPの変数は、ずばり何でも入る箱なんですが、どんな時に使う箱なのか!
それが重要ですね。

PHPの変数は、全てドルマーク($)を入れるルールがあります。

$aisatsu = "Hello!!";

?>

例えば、上記のソースでは、aisatuという名前の変数(箱)に、文字列のHellow!!が入っています。

しかし、これでは特に変数の恩恵をあずかれていません。
恩恵にあずかれるのは、条件分岐や制御構文を覚えた頃からハッキリと「無いと困る!」感じが解ってくるんじゃないかな。

で、上のプログラムですが。
「1-0.下準備」で作った「index.php」の中に書いてみたでしょうか?
書いてみた人は、実行させてみましょう。
実行のさせ方は、ブラウザを開いて、「http://localhost/lesson01/」にアクセスするだけ。

・ ・ ・ ・ ・ 。

画面が真っ白!
そうです。それでいいんです。

$aisatsu = "Hello!!";
は、アイサツ変数に「Hello!!」文字列を入れておく!命令に過ぎないんです。
つまりは、表示するための命令を書かなければブラウザには表示してくれないんです。

では次に

$aisatsu = "Hello!!";

echo $aisatsu;

?>


これを実行してみましょう。

「Hello!!」と画面が出てますか?
これは、echo命令が実行された結果です。

echoは、
echoの後ろに続く「文字」、「数字」、「変数の中に入っている物」を表示する命令です。
同じような命令には、printf(****);があります。好きな方を使って構いませんがProjectDARTSでは、表示させる命令はechoで統一させていきたいと思います。

※注意 >>> 実行(ブラウザで確認)する前には、必ず一旦保存をするのを忘れないでくださいね!保存してないと反映されませんよ!

1-1.足し算、引き算・・・応用は?掛け算、割り算

小学生の低学年の時に、足し算、割り算を勉強したのを覚えてますか?
小学生のときは素直に、「1+1は2!」なんて先生のあとに続いて復唱してたのではないですか?(^^;

正直、小学生の時に勉強なんてしていなくても
足し算、引き算くらいは、成長していく上でいつのまにか出来るようになるものです。
最近よくテレビに顔を出す「お馬鹿タレント」なんて言われている方達でも、
簡単な足し算くらいはできるんじゃないかな・・・(まぁ、テレビ的に作られてるキャラだろうけど・・・)

話がそれましたが、何にせよ基本!というものがあるもんです。

それでは、プログラムの基本ってなんでしょう。
それは、4つだと私は感じています。

1.変数

よく変数は箱だと表現されますが、まぁ大体そんな感じであってます。
(詳しくは、「1-2.変数って便利なの?」を読んでください。)

2.条件分岐

これは、『もし~ならば~して違えば~する』といった
日本語を思い出して貰えればいいと思います。
(詳しくは、「1-3.条件分岐でナニガできるの?」を読んでください。)

3.制御構文

これは、『~回~する』とか、『~の時は~する』とかいう
日本語を思い出して貰えればいいと思います。
(詳しくは、「1-4.制御構文て難しそうじゃね?」を読んでください。)

4.関数

関数といえばy = ax的なものを想像するかもしれませんね。
確かに間違ってはいないんですが、プログラムでいう関数を、
もっと解りやすい日本語で表すならば、「命令」といった方が伝わるんじゃないでしょうか。
(詳しくは、「1-5.関数を制する者はプログラムを制す?」を読んでください。)

「ん?」っと思った人は、察しが良いかもしれません。
制御構文の『~の時は~する』は、「2.条件分岐」と同じなんじゃ・・・。

まぁ、そうなんですが、
条件分岐は、制御構文の一部だと思ってください。

図的にいうと、右の図です。

1-0.下準備

この章で、実験するためのPHPの準備をしましょう!


まずは、PHPエディタを開いてください。



次に、「無題」となっているところを右クリックして、「名前の変更」を選択して、『index.php』に変更してください。実は、『index.php』じゃなくても構いません(^^;
最後が、.phpになっていれば問題ありません。日本語のファイル名にはしない方がいいでしょう。

何言ってるの!?という方は、素直にindex.phpとしておきましょう!



それでは、最後に[ファイル] -> [名前を付けてプロジェクトを保存]を選択してください。ファイルを保存する場所は、ルートディレクトリ内に「lesson01」ディレクトリ(フォルダ)を作って、その中に保存してください。



ファイル保存後は左の図みたいになるので、確認してくださいね!
ルートディレクトリは、AppServと、XAMPPで違うので要注意!XAMPPは、「C:\xampp\htdocs」がルートディレクトリのはずです(^^;

では、のんびりと次の章を読んでみてねー。