![]() |
PHP の簡単な使用法 |
| 西広島ドットコムへようこそ! |
| |トップ|新着情報|検索|サイトマップ| |
|
PHP と HTML の共存PHP はファイルから PHP コードの開始を示す特別なタグを見つけるまでは単純にその内容を出力する。 PHP コードの開始を示すタグが見つかるとコード終了を示すタグがあるまで、コードを実行する。 このメカニズムにより PHP コードは HTML 構文と同居できる。 ただし、拡張子は html でなく php とすること。 <html>
<head>
<title>Sample</title>
</head>
<body>
<?
$a = 1;
print ("$a = " . $a . "<br>\n");
?>
</body>
</html>
注意点としては、
PHPコードのブロックであることを示すタグには 4 種類ある。 <? PHP プログラム(SGML ドキュメントを処理したい場合に適合) ?>
<?= expression ?> は "<? echo expression ?>" のショートカット。
<?PHP
PHP プログラム(XHTML または XML ドキュメントを処理したい場合に適合)
?>
<script language="php">
echo ("FrontPage のようないくつかのエディタは処理命令を好まない");
</script>
<% echo ("オプションで ASP 形式のタグを使用可能"); %>
最初の 2 つは常に使用可能だが、他は php.ini 設定ファイルで on または off にできる。 言い替えれば常に使えるとは限らない。 短縮型のタグ (<? ... ?>) と ASP 形式の タグは便利だが、移植性に欠ける。 さらに、ブロック終了タグは、直後に改行がある場合、改行を含む。 また、終了タグの直前にはセミコロンは不要(あってもよい)。 PHP は次のような HTML と共存した構造を使うことができる。 <?php
if ($expression) {
?>
<strong>This is true.</strong>
<?php
} else {
?>
<strong>This is false.</strong>
<?php
}
?>
フリースタイルプログラムは、一つのまとまり(文)ごとに ; で区切る。 各行の先頭にある1つ以上の空白やタブは無視され、空行(改行だけの行)も無視される。 if ($a) {
printf("Hello.\n");
}
は、以下と同じ。 しかし、読みやすさの点から上のような書き方がよいとされる。 if($a){printf("Hello.\n");}
printfprintfの後に続く""で囲まれた部分には 次のような特別の働きをする文字(エスケープシークエンス)を書くことができる。
次のように出力される PHP ファイル 01q.php を作成し、確かめてみよう。 \t タブ \ バックスラッシュ \" "自体 printf文の正確な書式は次のようになる([]は省略可能)。 printf(フォーマット式[,リスト]) フォーマット式は、"で囲んだ文字列だが、 この中には次のような書式指定記述子が使え、 数値や文字列を任意の書式に加工して出力することができるようになっている。 %[符号][0][桁数][.小数点部]表現指示文字
次のような例 02.php を作成してみよう。 <?php
printf("65\t%d<br>\n", 65);
printf("65.0\t%.3f<br>\n", 65.0);
printf("65\t%x<br>\n", 65);
printf("65\t%c<br>\n", 65);
printf("文字列\t%s<br>\n", "abc");
?>
次のような出力となるはずである。 65 65 65.0 65.000 65 41 65 A 文字列 abc 変数の扱いPHP では変数はドル記号の後に変数名が続き、大文字小文字を区別する。 また、変数名は Perl 同様、文字またはアンダースコアから始まり、任意の数の文字、 数字、アンダースコアが続く。 さらに、Perl 同様、変数を扱う前に型宣言を行う必要はなく、 プログラムが型を決定してくれる。
次のような例 03.php を作成してみよう。 <?php
/* 03.c */
$b = TRUE;
$i = 0xff;
$s = '255';
$a = array(1.23, 0xff, "abc");
printf("b\t%s<br>\n", $b);
printf("i\t%d<br>\n", $i);
printf("s\t%s<br>\n", $s);
printf("sum\t%d<br>\n", $i + $s);
printf("a\t%d, %d, %s<br>\n", $a[0], $a[1], $a[2]);
?>
論理値型、整数型、文字列型、配列型の各変数を使用し、 printf 以下で、それを文字列、整数に指定して画面に表示している。 0xff は十六進数表示の 255 である。 実行結果は次のようになる。 $i + $s は文脈にしたがって整数どうしと認識され sum 510 と出力されるわけだ。 b 1 i 255 s 255 sum 510 a 1, 255, abc また、変数にはアクセスできる範囲というものがある。 一般に function 内部で使用された変数は、その function 外からアクセスできない(global を使わない限り)。 次のような例を考えてみよう。 <?php
function f($a) {
$a = 10;
print "$a\n";
}
function g() {
global $a;
$a = 10;
print "$a\n";
}
$a = 1;
print "$a\n";
f($a);
print "$a\n";
g();
print "$a\n";
?>
実行すると次のように出力される。 すなわち、関数 f() を呼び出した後は呼び出し元の $a は変化しないが、 関数 g() を呼び出した後には global があるため、変化している。 1 10 1 10 10 定数の扱い定数はスクリプト実行中に変更できない特殊な変数と考えてよい。 文字またはアンダースコアで始まり、任意の数の文字、数字、アンダースコアが後に続く。 習慣的に常に大文字で表記される。 それ以外に注意すべき点を挙げておく。
|
| |サイトポリシー|プロフィール|地図|お問合せ| |
2007- (C) Nishihiroshima.com
|