PHP

PHPとは静的なHTMLページにプログラムを埋め込み、動的なWebページを生成するために開発されたプログラミング言語です。 HTMLソース内に直接記述することができます。

PHPはサーバー側でプログラムが実行されることから、サーバーサイドスクリプトと呼ばれます。

PHPを覚えるにあたり、ノン・プログラマのためのPHP入門という本を買いました。

その本で勉強しながら追記します。

PHPの決まりごと

  • PHPスクリプトは <?PHP?> で囲む
  • PHP コードのみからなるファイルでは、終了タグ ("?>") は含めない。
  • 処理の最後はセミコロン( ; )で終わる
  • 上から下に処理が実行される
  • ファイルの最後に到達するとプログラムの終了
  • 拡張子は.php
  • 構文エラーがあると通知してくれる。

PHPの基礎

手始めに

<?php print "こんにちは!PHP"; ?>

このように記述すると、

こんにちは!PHP

このように表示されます。

コメント

コメントは、PHP内の文字を解釈させないための構文です。

<?php /* コメントその1 コメントを「/**/」で囲みます。 複数行でもオッケーです。   */ //コメントその2 「//」 以下はコメントになります。 改行すると終わります。 #コメントその3 「#」 以下はコメントになります。 改行すると終わります。 print "こんにちは!PHP";  ?>

開発者以外の人はコメントを見ることができません。

こんにちは!PHP

変数

変数は$(ドル)からはじまります。 処理の途中結果を一時的に保存しておく役割をします。

<?php $memory1 = 8; $memory2 = 10; $memory_total = $memory1 + $memory2; print "合計は$memory_total"; ?>
合計は18

変数名には規則があります。

変数名に使用できる文字列

  • A(a)~Z(z)
  • 0~9(1文字目には使用できない)
  • _(アンダーバー)

文字列

文字列を表現する場合、シングルクォーテーション(’)か、ダブルクォーテーション(”)でくくる必要があります。

シングルクォーテーションでくくられた文字列内でシングルクォーテーションを表現したい場合は、シングルクォーテーションの前に¥を記述します。 これをエスケープすると言います。

ダブルクォーテーション内でダブルクォーテーションを使う場合も同様です。

配列

配列は、変数の中に複数の区切りを設けて多くの値を格納できるようにしたものです。

キー名に文字列を使うことを連想配列と呼びます。

<?php $sakana["siromi"] = "tai"; $sakana["akami"] = "maguro"; $sakana["ao"] = "azi"; 変数名、キー、代入値 print_r($sakana); ?>

関数

関数とは、ひとまとまりの処理を行ってくれる機能のことです。

PHPには関数が1000以上も用意されています。 関数に与える情報を引数(ひきすう)といいます。

関数は引数を基に処理を行い、結果を返します。 この結果のことを戻り値といいます。 中には引数を必要としない関数や、戻り値を返さない関数もあります。

関数が1000以上用意されているからといって、それを全て覚えなければPHPを使えないというわけではありません。 必要なときに必要な関数を調べて使えばよいのです。

全ての関数はいずれかのカテゴリーに属します。

関数にはあらかじめ用意された内部関数と独自に定義するユーザー定義関数がある。

if文

if構文は、プログラムを分岐させます。

<?php  if(条件1){ 条件1がTRUEの時の処理; }elseif(条件2){ 条件2がTRUEだった時の処理; }elseif(条件3){ 条件2がTRUEだった時の処理; }else{ どの条件もFALSEだった時の処理; } ?>
<?php  if(date("H") >= 18){ print"こんばんは"; }elseif(date("H") >= 11){ print"こんにちは"; }elseif(date("H") >= 6){ print"おはよう"; }else{ print"あー眠たいなぁ"; } ?>
こんにちは

ループ:for文


Parse error: syntax error, unexpected T_LNUMBER in /home/umebosi/www/web/wp-content/plugins/runPHP/runPHP _draggable.php(403) : eval()’d code on line 2
<?php print"<table border="1">"; for($i=1;$i<=9;$i++){ print"<tr><td>".$i."の段</td>"; for($j=1;$j<=10;$j++){ if($j==10){ continue2; } $x=$i*$j; print"<td>".$i."*".$j."=".$x."</td>"; } print"</tr>"; } print"</table>"; ?>

ループ:while文

<?php $i=1; while(true){     if($i>10){     break;     }     if($i%2==0){     print$i."<br />";     } $i++; } ?>
2
4
6
8
10

ループ:foreach

<?php $profile{"name"}="へのへの もへじ"; $profile{"pref"}="群馬県"; $profile{"sex"}="男"; $profile{"email"}="xxx@xxx.com"; print"<table border=\"1\">"; foreach($profile as $key => $value){ print"<tr><td>{$key}</td><td>{$value}</td></tr>"; } print"</table>"; ?>
nameへのへの もへじ
pref群馬県
sex
emailxxx@xxx.com

webページからデータを受け取る

PHPはhtmlからフォームなどで入力されたデータを受け取ることができる。

<form action="faq.php" method="post"> 料理<input type="text" name="recipe" value=""> <input type="submit" name="faq_submit" value="送る"> </form>
料理

この例ではfaq.phpへデータが送られる。

methodは送信方法でpostとgetがある。

postで送信したデータは$_POSTという変数に配列形式で格納される。

$_POST["recipe"]

メモ

  • ApacheはWebブラウザのリクエスト情報を受けて、レスポンスを返す。
  • HTTPヘッダはブラウザとサーバーが会話するための情報。
  • ieHTTPHeadersを使うとHTTPヘッダ情報を確認できる。

自家製 HP作成マニュアル