[PHP-users 22524]Re: クラスの使い方について

KANDA HIROHIDE trash @ jp.org
2004年 7月 8日 (木) 16:36:54 JST


こんにちは、神田です。

とりあえずぱっと見て、

$this->$m_date

なんか余計なものがついてませんか?


> こんにちは。溝口です。
> PHPのクラスの使い方について分からないことがありますので質問させていただきます。
> 
> 今回PHPのクラスを使用しようと思いサンプルを作ったのですが意図した結果が表示され
> ませんでした。
> 
> 以下はサンプルとして作ったコードです。
> 
> <?php
> //クラスの定義
> class TestClass
> {
> 	var $m_date;		//日付
> 	var $m_value;		//値
> 	var $m_class_name;	//クラスの名前
> 	
> 	//コンストラクタ
> 	function TestClass()
> 	{
> 		$this->$m_date = date('Y-m-d');		//日時をセットする
> 		$this->$m_class_name = 'TestClass';	//クラス名を設定する
> 		$this->$m_value	= array();		//配列を初期化
> 	}
> 	
> 	//日付を描画する
> 	function printDate()
> 	{
> 		echo $this->$m_date;	//日付を描画する
> 		print('<br>');		//改行する
> 	}
> 	
> 	//値を追加する
> 	function addValue($value)
> 	{
> 		$index = sizeof($this->$m_value);	//添え字を決定する
> 		$this->$m_value[$index] = $value;	//値を追加する
> 	}
> 	
> 	//クラス名を描画する
> 	function printClassName()
> 	{
> 		echo $this->$m_class_name;	//クラス名を描画する
> 		print('<br>');			//改行する
> 	}
> 	
> 	//値を描画する
> 	function printValue()
> 	{
> 		for ($index = 0; $index < sizeof($this->$m_value); $index++) {	//配列の数だけ繰り返す
> 			echo $index.' '.$this->$m_value[$index];		//値を描画する
> 			print('<br>');						//改行する
> 		}
> 	}
> }
> 
> 	$MyClass = new TestClass;	//クラスを生成
> 	
> 	for ($index = 0; $index < 100; $index++) {	//100回繰り返す
> 		$MyClass->addValue(100 - $index);	//値を追加する
> 	}
> 	
> 	$MyClass->printDate();		//日付を描画する
> 	$MyClass->printClassName();	//クラスを描画する
> 	$MyClass->printValue();		//値を描画する
> ?>
> 
> サンプルを実行した結果は以下のようになりました。
> 
> 1
> 1
> 0 1
> 
> 希望した出力結果としては次のとおりだったのですがうまくいきませんでした。
> 
> 2004-07-08
> TestClass
> 0 100
> 1 99
>   :
> 98 2
> 99 1
> 
> どなたかご存知の方がいらっしゃいましたらご教授願えないでしょうか。
> よろしくお願い致します。
> 
> ----
> 溝口豊  mizoguci @ serdeen.co.jp
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

-- 
KANDA HIROHIDE <trash @ jp.org>




PHP-users メーリングリストの案内