Array Class

Class の配列です。

プログラムの作成

クラス(class test) を配列にして使います。
Ary_Class.php のソースコードを Shift-JIS でタイプして c:\DATA\PHP\ に格納して下さい。
<?php
class  test
{   var $tim;
    var $msg;

    function print_msg()
    {   print gmdate("Y/m/d H:i:s", $this->tim+9*3600);
        print (" : $this->msg\n");
    }
}
?>

<?php
    for($i=0; $i<3; $i++)
    {   $cls[$i] = new test();
        usleep(mt_rand(500,6000) * 1000);
        $cls[$i]->tim = time();
        $cls[$i]->msg = "Message-$i"; 
    }
    for($i=0; $i<3; $i++)
    {   $cls[$i]->print_msg();  }
?>

【実行画面】
コマンドプロンプトを起動して Ary_Class.php をコンパイルします。
実行が終わるまで数秒待って下さい。
C:\Windows\System32>cd \data\php

C:\DATA\PHP>php Ary_Class.php

2015/07/29 08:11:59 : Message-0
2015/07/29 08:12:04 : Message-1
2015/07/29 08:12:07 : Message-2

C:\DATA\PHP>

プログラムの説明

  1. test Class のプロパティ領域として $tim, $msg の領域を定義します。
    Class の基礎は PHP gcm Class を参照して下さい。
        var $tim;
        var $msg;
    
  2. print_msg() 関数で $tim を編集して印字します。
    $tim に続いて $msg を印字します。
        function print_msg()
        {   print gmdate("Y/m/d H:i:s", $this->tim+9*3600);
            print (" : $this->msg\n");
        }
    
  3. ループの中で new test() を生成して $cls[] に配列として格納します。
    $tim が同じ時刻にならないように usleep(mt_rand(500,6000) * 1000) で数秒待機します。
    $tim, $msg の領域に値を設定します。
        for($i=0; $i<3; $i++)
        {   $cls[$i] = new test();
            usleep(mt_rand(500,6000) * 1000);
            $cls[$i]->tim = time();
            $cls[$i]->msg = "Message-$i"; 
        }
    
  4. $cls[] に配列として格納されたクラスの print_msg() 関数を呼び出します。
        for($i=0; $i<3; $i++)
        {   $cls[$i]->print_msg();  }
    

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