1. PHPの基礎
PHP の基礎を簡単に説明していきます。
■ハロー PHP
単に"Hello"と表示するだけのテストプログラムをご紹介します。
これが動けば、一応プログラムを書き始めることができるということになり、
すべてのプログラマーは、ここから始めます。
-----------------------------------------------------------------
<HTML>
<?php
print "PHPの出力テストです。";
?>
</HTML>
-----------------------------------------------------------------
PHPは、HTMLタグの中にプログラムを記述する形になります。
PHPプログラムを書き始めという合図は、
<?php ... ?>
<? ... ?>
のようなタグで囲み、その中でプログラムを書きます。
他にも、
<% ... %>
<SCRIPT LANGUAGE="php"> ... </SCRIPT>
なども、サーバの設定によっては記述可能です。通常は<? ... ?>で構いません。
上のサンプルで、printというのは、PHPがもともと用意している関数で、
文字列を出力する関数となります。
print文の行の最後に「;」(セミコロン)がついていますが、これは、処理文の
一つがここで終了しているという意味になり、必ず必要になります。
基本的には、1 行に 1 処理を書き、最後にセミコロンを書くようにしてください。
■コメント
プログラム中にコメントを書きたい場合は、以下のようにします。
// 『//』以降改行までコメント
/* 複数行コメント開始
*/ 複数行コメント終了
-----------------------------------------------------------------
<HTML>
<?php
print "<P>コメントテスト</P>\n";
// 単一行コメント
/*
複数行コメント
複数行コメント
*/
?>
</HTML>
-----------------------------------------------------------------
コメントの部分は、プログラムが実行されませんので、プログラムの説明を
書いたり、プログラムの一部を、一時的に削除するなどといった使い方をします。
■変数タイプ
PHPの変数の種類として、以下のものがあります。
$a 単純変数
$b[] 配列変数
$c['key'] 連想配列
■変数名の決まり
変数名は、英字(a〜z、A〜Z)またはアンダースコア(_)で始まり、英字、アンダースコア
または数字(0〜9)が続く単語が指定可能です。文字数の指定はありませんが、
大文字、小文字は区別して扱われます。
-----------------------------------------------------------------
$abc // 正
$a123 // 正
$_abc // 正
$123 // 誤 ( 数値で始まっている )
-----------------------------------------------------------------
■単純変数
変数は数値でも文字でも入ります。
-----------------------------------------------------------------
$a = 10; // 数値を代入
$b = "20"; // 文字列を代入
$c = $a + $b; // 数値と文字列を加算
print $c; // 表示→ ( 30 )
-----------------------------------------------------------------
文字列はダブルクォーテーション(")又はシングルクォーテーション(')で囲んで
表示します。
ダブルクォーテーションはその中に変数を書くと、値が表示されます。
シングルコーテーションの場合は、そのまま表示されます。
以下に簡単なサンプルを記述します。
-----------------------------------------------------------------
$a = 30;
print "$a"; // 変数の内容30が表示される
print '$a'; // $a と表示されてしまう
-----------------------------------------------------------------
■配列
配列とは、連続したデータを変数に格納する時に使用します。
-----------------------------------------------------------------
$week = array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
print $week[1] ; // 0番目からの要素への参照 "mon"が表示される
-----------------------------------------------------------------
配列の詳細については、別の機会に説明します。
■ハッシュ(連想配列)
ハッシュとは、配列変数の添字が文字列となったもので添字と対応して保持されます。
-----------------------------------------------------------------
// ハッシュの初期化
$week = array('sun'=>'始まり', 'wed'=>'中日', 'fri'=>'週末');
print $week['fri']; // 0番目からの要素への参照 "週末"が表示される
-----------------------------------------------------------------
ハッシュの詳細については、別の機会に説明します。
■演算子
+ 加算
- 減算
* 掛け算
/ 割り算
% 余り
++ インクリメント (+ 1)
-- デクリメント (- 1)
pow() べき乗
. 文字列結合
インクリメントについて
++$i は、その行が実行される前に、$i に 1 プラスされます。
$i++ は、その行の実行後に、$i に 1 プラスされます。
デクリメント『--』は 1 マイナスになります。
■代入
変数に値を代入するには、以下の方法があります。
= 単純代入
+= 加算代入
-= 減算代入
*= 乗算代入
/= 除算代入
.= 文字列結合代入
$a = $a + $b; は、$a += $b; と同じ意味です。
■特殊文字 (エスケープシーケンス)
文字列を囲む『"』ダブルクォーテーションの中で、改行や \マークなどを記述
する場合は、『\』エスケープシーケンスというものを前に書いて表します。
\n 改行
\r キャリッジリータン(改行)
\t タブ
\\ 「\」マーク
\" 「"」ダブルクォーテーション
\, 「,」カンマ
\@ 「@」マーク
『'』シングルクォーテーションの場合は、
\' 「'」シングルクォーテーション
\\ 「\」マーク
がエスケープシーケンスとなり、それ以外はそのまま出力されます。
★今日のまとめサンプルプログラム
-----------------------------------------------------------------
<HTML>
<BODY>
<?
// 変数
$a = 10; // 整数
$b = '20'; // 文字列
$c = $a + $b; // 整数で計算される
$d = $a . $b; // 文字列が連結される
print '$a = ' . $a . '<br>'; // シングルクォーテーションの場合は $a がそのまま表示される
print "\$b = $b<br>"; // ダブルクォーテーションの場合は $b は値が表示される
// $ という文字を表示したい場合は、 \$ とすると表示される
print "\$c = $c<br>"; // 30と表示される
print "\$d = $d<br>"; // 1020と表示される
// 配列
$week = array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
print "$week[0]<br>";
print "$week[1]<br>";
print "$week[2]<br>";
print "$week[3]<br>";
print "$week[4]<br>";
print "$week[5]<br>";
print "$week[6]<br>";
// ハッシュ配列
$week = array('sun'=>'始まり', 'wed'=>'中日', 'fri'=>'週末');
print $week['sun'] . '<br>';
print $week['wed'] . '<br>';
print $week['fri'] . '<br>';
?>
</BODY>
</HTML>
-----------------------------------------------------------------
■解説
HTML内にプログラムを記述し、出力しています。"Hello World"プログラムが
動作する環境であれば、上のサンプルも難なく動作すると思います。
結果のページには、print文で出力したものが羅列されているかと思います。
それぞれの結果が、なぜそのように出力されたかを確認してみてください。
★課題
1. 以下の2つの変数の加算、減算、掛け算、割り算、余りの結果をHTML中に出力
してください。
42
19
2. 以下の4つの文字列を配列に格納し、HTML中に文字列をつなげて出力してください。
'This'
' is '
'a test '
'program.'
|