Function global

PHP 関数で global を使います。

プログラムの作成

Func_Global.php のソースコードを Shift-JIS でタイプして c:\DATA\PHP\ に格納して下さい。
<?php
    $d1= 32;
    $d2= 24;
    function gcm()
    {   global $d1, $d2;
        $n= $d1;
        $m= $d2;
        while($n<>$m)
        {   if ($n>$m)  $n-= $m;
            else        $m-= $n;
        }
        return($n);
    }
    function lcm()
    {   global $d1, $d2;
        return($d1*$d2/gcm());
    }

    print "ans gcm 32,24 = " . gcm() . "\r\n";
    print "ans lcm 32,24 = " . lcm() . "\r\n";
?>

【実行画面】
コマンドプロンプトを起動して Func_Global.php をコンパイルします。
私は Windows10 では PHP のパスの設定はしていません。
パスが通っていないので c:\bin\php のディレクトリ上でコンパイルしました。
C:\Users\maeda>cd C:\bin\php

C:\BIN\PHP>php c:\data\php\Func_Global.php
ans gcm 32,24 = 8
ans lcm 32,24 = 96

C:\BIN\PHP>

プログラムの説明

  1. gcm() 関数と lcm() 関数を定義します。
    C言語のように関数に型はありません。全て function で始めます。
    計算に使うデータは、関数の外で定義した $d1= 32; $d2= 24; です。
    $d1, $d2 を関数で参照するときは global $d1, $d2; で宣言します。
    求めた GCM の値を return で返します。
        function gcm()
        {   global $d1, $d2;
            $n= $d1;
            $m= $d2;
            while($n<>$m)
            {   if ($n>$m)  $n-= $m;
                else        $m-= $n;
            }
            return($n);
        }
    
  2. lcm() 関数でも global $d1, $d2; で宣言します。
    lcm() 関数の中から gcm() 関数を呼び出しています。
        function lcm()
        {   global $d1, $d2;
            return($d1*$d2/gcm());
        }
    
  3. 実行が開始されるのは、関数の定義に続くこの命令からです。
    「.」は PHP の文字列の連結演算子です。
        print "ans gcm 32,24 = " . gcm() . "\r\n";
        print "ans lcm 32,24 = " . lcm() . "\r\n";
    ?>
    
  4. サーバーのホームページにアップロードするときは HTML タグを使います。
    HTML タグを使ったときは、関数の定義は <head> の中で、呼び出しは <body> に記述する例を良く見かけます。
    PHP のソースコードは、HTML 文の任意の箇所に挿入することが出来ます。

前田稔の超初心者のプログラム入門
PHP Program