SAK 図書館
PHP 基礎編4 - 基本事項、ユーザ関数、function、return、global、static
■基本事項
・構文には C、C++、JAVA、Perl と同じく大文字小文字の厳密な区別がある。
従って、$i と $I は別の変数である。
また、組み込み関数など大文字小文字を正確に記述すること。
・ヒアドキュメントは Perl と少し構文が違う。
<< が <<< と 3 個必要である。
print <<< END_OF_HTML の末尾に「;」は不要である。
最後の END_OF_HTML; の末尾に「;」が必要である。
print <<< END_OF_HTML
<P>あいうえお</P>
<P>かきくけこ</P>
END_OF_HTML;
・ヒアドキュメントを変数に代入することも可能である。
$msg = <<< END_OF_HTML
<P>あいうえお</P>
<P>かきくけこ</P>
END_OF_HTML;
・パラメタは C と同じに値渡しが標準である。& を付けてアドレス渡しに
することもできる。
■ユーザ関数
function UserFunction($para1, $para2, ...)
{
global $a;
static $b;
$c = 1;
コード...
return returncode;
}
** return には戻り値を渡すことができます。
** パラメタをアドレス渡しするには、UserFunction(&$para1) と呼ぶ。
** function UserFunction(&$para1, &$para2, ...) として、関数側で
アドレス渡しに指定することもできる。
■検証サンプルコード
<HTML>
<?php
// 変数
$a = 100;
$b = 200;
$c = 300;
$d = 400;
// 関数呼び出し
$e = test($d);
// 変数内容表示
print "<P>変数 \$a = $a</P>\n";
print "<P>変数 \$b = $b</P>\n";
print "<P>変数 \$c = $c</P>\n";
print "<P>変数 \$d = $d</P>\n";
print "<P>変数 \$e = $e</P>\n";
/*
========================================================================
テスト関数
========================================================================
*/
function test($p) {
global $a;
static $b;
$c = 1;
$a += 10;
$b += 20;
$c += 30;
$p += 40;
return(50);
}
?>
</HTML>
【実行結果】
変数 $a = 110
変数 $b = 200
変数 $c = 300
変数 $d = 400
変数 $e = 50
** $a は、関数 test() で、global $a; と宣言しているので、110 になる。
** $b、$c、$d は、関数 test() 内と別物となり、影響を受けていない。
関数の考えた方やグローバル、ローカル変数のスコープなど VB と共通の概念で
す。『VB 基礎編 (その五) 関数構造(sub、function)』も参考にされると良いで
しょう。
■PHP 基礎編資料
■PHP + MySQL 編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料