やわらかPHP入門(超入門編)
PHPの入門ページです。くれぐれも「やわらか」がコンセプトなので、少々の間違いや勘違いは生暖かい目で見てやってください(笑)
詳しいことや正確さは抜きにして、ざーっとPHPってこんなもんなんだぁ~って分かるための入門です。
実際やってみてエラーが出たら、ググってください。それがPHP習得の近道です。(…という言い訳(笑))
PHP超入門編
・プログラムの書くときの注意
・表示してみよう!(print文)
・変わり続ける時代(変数)
・計算してみよう!(演算子)
・比べて比べられて…(比較演算子)
・もしもの世界(if文)
・メビウスの輪(for文)
・全員整列!…じゃなくて配列(配列)
・職員室に呼び出し(関数と引数)
・吸収合併!?(他のファイルの読み込み)
・不可視領域!?(変数のスコープ)
こんにちは世界!~HelloWorld~
プログラミング言語で初めてプログラムを書くときのお約束「HelloWorld」。では、PHPでHelloWorldを表示させるにはどうしたらいいのでしょうか?こんなの簡単です。
PHPでHelloWorld??
HelloWorld
え?「ほとんどHTMLじゃないか?」って?そうですよ(笑)だって、PHPでただ書くだけだったら、HTMLで書いちゃいます。まぁ、PHPタグがあるだけPHPっぽくないですか?僕だけ?
プログラムの書くときの注意
・PHP文のところはみたいにします。文中は改行してもOKよん。
・文末は;をいれてね。
・プログラムは半角で。文字列やコメント内では全角もOKよ。
・半角カナは使わないでね。
・全角スペースに注意!
・小文字と大文字は区別してね。
・コメントはHTMLと違うやつなのよ。
・書き方を間違えるとコンピューターが爆発します!(冗談です(笑))
…まぁ、他のプログラミング言語と一緒ですけどね。
表示してみよう!(print文)
まずは表示できないとPHPで遊べませんよね。では、PHPで表示するにはどうすればいいのでしょうか?そう、HelloWorldでやったprint文です。
では、print文の特徴を挙げてみましょう♪
・print文で表示できるのは、文字や数字。だけでなくHTMLタグも出力できますよ!
・文字を表示する時は、””で囲みます。
・変数(後述)の内容も表示できちゃうんです!
PHPで表示してみよう
とりあえず、簡単に表示できましたよね?
あなたのアイデアで、いろいろ書き換えて遊んでみましょう♪
プログラミングは、学ぶより慣れよ!ですよ
変わり続ける時代(変数)
変数って知っていますか?「変な数」の略です。嘘です嘘です!真に受けてしまった人ごめんなさい!あなたのそういう素直なところが好きです(笑)
変数って、よく数字や文字を入れる箱と例えられます。でもこれで分かるのかな?では、変数の特徴を挙げてみましょう。
・一つの変数には一つしか情報が入らない。
・$の後にアルファベットや数字で変数に名前をつける。同じ名前の変数は1つしかない。
・中身を入れる時は=を使って右から入れる。
・変数は上書きできる。
・文字を入れる時は文字を”や””で囲む
・変数は中身を比較できる
で、どういうところで使うかというと、「情報が変わるところ」。そう、変数って変えられるから変数なのです。(文字も入れられるのに変数とはこれいかに)
PHPで変数
PHPさん「10000円のパンティーの税込価格※はです。高いですね~」
※消費税8%時。
このようにHTMLの中に混在できるのもPHPの魅力ですよ♪
いろいろ遊んでみてね!
計算してみよう!(演算子)
PHPはプログラミングですから、もちろん計算もできちゃいます!これで電卓いらずですよ!(電卓よりかなりめんどいけど(笑))
PHPさんに計算してもらう時のコツは…
・四則演算は、+-*/を使う。×は、*。÷は、/なのです!
・実際には$kekka=1+1のように使います。=より右の計算を左の変数に代入する感じです。
・余りを求める時は%を使います。
・=も実は演算子。代入演算子なのです!
今からPHPさんが計算をします
比べて比べられて…(比較演算子)
人間は、いつしか比べて比べられて生活するようになってきました。生まれた頃は何も考えずピュアな存在だったのに…。一体何がそうさせているのでしょうか?(何が言いたいんだ??(笑))
それはPHP星でも例外でもありませんでした。比べて比べられて…そんなのは、宇宙の法則なのでしょうか?…だんだん訳がわからなくなってきたので、元に戻しましょう(笑)
というわけで、PHPでは、比較ができます。どちらの方が大きい値か?同じかなどなど。それはtrue(真)かfalse(偽)かという判断をされるんです。例えば、1+1は2と等しい…という文ならば、成立しているのでtrueになります。1+1は3より大きい…ならば成立していないのでfalseになるんです。(3より大きい数字がわからないので、例えが幼稚でゴメンナサイ(笑))
まぁ、いろいろ詰め込んでも難しいので、特徴をおさえましょう
・比較は2つの数字や変数の間で行われます。
・プログラムの色々なところで使われます。条件によって展開を変えることができますよ。
・等しいかは==を使います。
・比較は>や<。等しいかまたは大きい小さいは、<=と>=。等しくないは!=ですよ。(他にも色々あるけど省略)
・成立する場合はtrue、成立しない場合はfalse。
・比較演算子単体で使うことはなく、条件分岐文やループ文で使われます。今後出てくるifとかforとかにつかいます。
・条件で動く文はtrueならば実行になるので、実行したい文がtrueで実行されるように条件式を作りましょう。(if文以降で説明)
<pre><html> <head><title>今からPHPさんが比べます</title></head> <body> <?php $gold=10; print"所持金:$gold円"; print"おっ、30円のパンティーだ!"; print "1+1=$a"; print "人間はこんな計算もできないのですか?";?> </body> </html></pre>
もしもの世界(if文)
PHPさんは、条件分岐もできちゃったりします。条件分岐??…ちょっとむずかしいですか?えーっと、条件によって、やってもらうことを変えるってことです。
例えば、10円より高かったら買わない。それ以外(10円かそれ以下か)なら買うということができます。さらにそれを組み合わせて複雑なことができちゃいます!それがif文ってやつです!
では、特徴を挙げてみましょう♪
・条件分岐にはif文があります。
・if(条件){}です。
・if文の{}の中は、HTMLを入れる書き方もあります。今はまだ教えません(笑)
・if文の後にelse{}をつけることで条件じゃなかった時の処理がかけますよ。
・if文は入れ子にすることができますよ。if(条件){if(条件)}といった具合に。
メビウスの輪(for文)
PHPさんは、さらに同じことを何回もさせることができます。繰り返しが得意なんですよね~。で、繰り返しさせるには、for文というのを使います。(他にも方法はあるけども)
for文を使えば、回数を指定して繰り返ししてもらうことができるっちゅーわけです!マシで登場回数が多いのでマスターしちゃいましょう♪
では、for文の特徴を挙げてみましょう♪
・for(カウンターの初期値;繰り返し条件;カウンターの増え方){繰り返し処理};…という文です。
・繰り返しの回数は、変数を使ってカウントします。
・繰り返し用の変数をカウンター変数と名づけます(?)
・通常カウンター変数はiを使い、for文では$i=0と初期化します。これが最初の設定です。
・「繰り返し状態」は、比較文を使ってそれがtrueの場合、{}内を繰り返してくれます。
・「カウンターの増え方」は、通常$i++とします。これで1ずつカウンターが増えていきます。
・for文の中にfor文を入れることもできますよ!
まぁ、いろいろ言ってもわけわからないでしょうから、PHPさんに実例を見せてもらいましょ♪
今からPHPさんが繰り返します!
全員整列!…じゃなくて配列(配列)
配列かぁ…これ最初の頃なかなか理解しきれなかったんですよね。けど、がんばって説明しまょう~
この配列というのは、変数のグループと言う感じかな?同じ形の変数が並んでいるっていう感じです。
まぁ、配列の特徴をみてみましょ♪
・配列は、変数の集合したものですよ。同じシリーズの変数の集合といえば少しはわかりやすいかも?
・配列$aの作り方は、$a=array(1,2,3);…とこんな感じにつくります。
・上記の配列$aは、$a[0]は1、$a[1]は2、$a[2]は3になります。
・$a[添字]で配列を操作します。添字は数字で0から始まりますよ。
・最初に決めた配列の数以上にアクセスするとエラーになりますよ!
今からPHPさんが配列で遊びます! "; } print "以上!";?>
職員室に呼び出し(関数と引数)
ある程度長いPHPプログラムをしてると、関数というのが便利になってくるんですよ。
え?関数って?関数とは、処理のかたまりをひとくくりにしたものなのです。これがあると長いプログラムでも見通しが良くなるのでオススメです。
まぁ、特徴をとらえたほうが早いですよ。
・関数はfanctionといいます。
・関数には名前が必要です。もちろん英数字で付けます。
・関数に情報を渡すことができます。これを引数(ひきすう)といいます。
・関数から情報を得ることもできます。これを戻り値といいます。
・引数も戻り値もなくてもOKです。
・関数に処理を終わらせるのも戻り値を得るのもどちらでもOK!
・形式はfunction a(引数){処理… return 戻り値;}です。
・引数はいくつも渡すことができます。その代わり、同じ数引数を持つ関数が必要ですよ。
・戻り値は1つまでです。
<html> <head><title>今からPHPさんが関数で遊びます!</title></head> <body> <?php print "PHPさん「今から高度な計算をします!」<br />"; print "PHPさん「1+1は?」<br />"; print "PHPさん その2「".tashizan1(1,1)."です!」<br />"; print "PHPさん その3「いやいや。"; tashizan2(1,1); print "」<br />"; function tashizan1($a,$b){ return $a+$b; } function tashizan2($a,$b){ $kekka=$a+$b; print "$a + $b ですね?高度な演算処理によれば $kekka です。"; } ?> </body> </html>
吸収合併!?(他のファイルの読み込み)
PHPでWebサイトを作るメリットとして、他のファイルを読み込めることだと思うのです!少なくとも僕は。
では、どうやって読み込むかっというと、include文やrequire文を使うのです!これで他のファイルを読み込めちゃう!便利!チューわけです(笑)
というわけで、特徴をみてみましょう♪
・基本的に読み込みにはinclude文、require文の2種類があります。
・include文とrequire文の違いはファイルとり込み失敗時の処理の違い。
・requreは、失敗時にエラーメッセージを表示して処理が中止されちゃいます。
・includeは、失敗時に警告メッセージが出るけど処理は続けられます。
・require”ファイル名”;またはinclude”ファイル名”;のように使うざます!
・php拡張子のファイルならhtmlで書いてあっても読み込めるのでサイトの共通ブロックに使うと便利!
print "とりこまれちゃったっ!てへっ☆"?>
<html> <head><title>取り込みまっせ!</title></head> <body> <?php print "PHPさん「今から取り込みます!」<br />"; require"torikomareru.php"; ?> </body> </html>
不可視領域!?(変数のスコープ)
超入門編の最後として、変数のスコープについて触れておきましょう。変数のスコープ?なにか望遠鏡とか顕微鏡とかそういうイメージですよね。スコープとは、範囲とか視野いう意味もあるそうですよ。だから、変数の使える範囲といったところです。
そうなんです。変数って、使える範囲が限られているのです。それは、変数に値が入れられた場所によってきまります。基本的に、変数に値が入れられた階層より下で使えますよ。ちょっと例えが正しくない気もいますが^^;
まぁ、とりあえず変数のスコープの特徴をみてみましょう。
・変数は値を入れた場所より階層が下で変数が使えます。つまり値が取り出せるということです。
・たとえば、関数内で変数を作った場合、関数内のスコープになります。{}内でしか値を取り出せないということです。
<html> <head><title>PHPさんのスコープ実習</title></head> <body> <?php $ahoaho="あほあほ"; homohomo($ahoaho); function homohomo($obaka){ $hentai=$obaka; } //print $hentai; →$hentaiのスコープ外なのでエラーがでる! ?> </body> </html>