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 応用実地編資料