SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 応用実地編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK